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

github.com/FastLED/FastLED.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Garcia <danielgarcia@gmail.com>2015-08-11 08:47:26 +0300
committerDaniel Garcia <danielgarcia@gmail.com>2015-08-11 08:47:26 +0300
commit80dd3095bb8707e7f06faaecf8bccf6785b2cb8e (patch)
tree384fbd740237b7ecd138f3ef6a97313ce534d7b2
parent54efc4a8c63e7e6e3365b6ea4728bf336a084db1 (diff)
Adding definitions to various lib8tion types.
-rw-r--r--docs/3.1/_fast_l_e_d_8h_source.html2
-rw-r--r--docs/3.1/_fast_s_p_i___l_e_d2_8h_source.html2
-rw-r--r--docs/3.1/annotated.html6
-rw-r--r--docs/3.1/bitswap_8h.html2
-rw-r--r--docs/3.1/bitswap_8h_source.html2
-rw-r--r--docs/3.1/chipsets_8h_source.html2
-rw-r--r--docs/3.1/class_a_p_a102_controller-members.html2
-rw-r--r--docs/3.1/class_a_p_a102_controller.html2
-rw-r--r--docs/3.1/class_a_p_a104.html2
-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_every_n_time_periods-members.html2
-rw-r--r--docs/3.1/class_c_every_n_time_periods.html2
-rw-r--r--docs/3.1/class_c_fast_l_e_d-members.html2
-rw-r--r--docs/3.1/class_c_fast_l_e_d.html2
-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.html2
-rw-r--r--docs/3.1/class_c_l_e_d_controller.html2
-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.html2
-rw-r--r--docs/3.1/class_d_m_x_s_e_r_i_a_l-members.html2
-rw-r--r--docs/3.1/class_d_m_x_s_e_r_i_a_l.html2
-rw-r--r--docs/3.1/class_d_m_x_s_i_m_p_l_e-members.html2
-rw-r--r--docs/3.1/class_d_m_x_s_i_m_p_l_e.html2
-rw-r--r--docs/3.1/class_d_m_x_serial_controller-members.html2
-rw-r--r--docs/3.1/class_d_m_x_serial_controller.html2
-rw-r--r--docs/3.1/class_d_m_x_simple_controller-members.html2
-rw-r--r--docs/3.1/class_d_m_x_simple_controller.html2
-rw-r--r--docs/3.1/class_fast_pin-members.html2
-rw-r--r--docs/3.1/class_fast_pin.html2
-rw-r--r--docs/3.1/class_fast_pin_b_b-members.html2
-rw-r--r--docs/3.1/class_fast_pin_b_b.html2
-rw-r--r--docs/3.1/class_g_w6205.html2
-rw-r--r--docs/3.1/class_g_w6205__400.html2
-rw-r--r--docs/3.1/class_g_w6205_controller400_khz.html2
-rw-r--r--docs/3.1/class_g_w6205_controller800_khz.html2
-rw-r--r--docs/3.1/class_input_pin-members.html2
-rw-r--r--docs/3.1/class_input_pin.html2
-rw-r--r--docs/3.1/class_l_p_d1886.html2
-rw-r--r--docs/3.1/class_l_p_d1886_controller1250_khz.html2
-rw-r--r--docs/3.1/class_l_p_d8806_controller-members.html2
-rw-r--r--docs/3.1/class_l_p_d8806_controller.html2
-rw-r--r--docs/3.1/class_n_e_o_p_i_x_e_l.html2
-rw-r--r--docs/3.1/class_output_pin-members.html2
-rw-r--r--docs/3.1/class_output_pin.html2
-rw-r--r--docs/3.1/class_p9813_controller-members.html2
-rw-r--r--docs/3.1/class_p9813_controller.html2
-rw-r--r--docs/3.1/class_pin-members.html2
-rw-r--r--docs/3.1/class_pin.html2
-rw-r--r--docs/3.1/class_s_m16716_controller-members.html2
-rw-r--r--docs/3.1/class_s_m16716_controller.html2
-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.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_i___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html2
-rw-r--r--docs/3.1/class_s_p_i_output_3_01_s_p_i___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.html2
-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.html2
-rw-r--r--docs/3.1/class_s_p_i_output_3_01_s_p_i___u_a_r_t0___d_a_t_a_00_01_s_p_i___u_a_r_t0___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html2
-rw-r--r--docs/3.1/class_s_p_i_output_3_01_s_p_i___u_a_r_t1___d_a_t_a_00_01_s_p_i___u_a_r_t1___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html2
-rw-r--r--docs/3.1/class_selectable-members.html2
-rw-r--r--docs/3.1/class_selectable.html2
-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.html2
-rw-r--r--docs/3.1/class_t_m1803_controller400_khz.html2
-rw-r--r--docs/3.1/class_t_m1804.html2
-rw-r--r--docs/3.1/class_t_m1809.html2
-rw-r--r--docs/3.1/class_t_m1809_controller800_khz.html2
-rw-r--r--docs/3.1/class_t_m1829.html2
-rw-r--r--docs/3.1/class_t_m1829_controller1600_khz.html2
-rw-r--r--docs/3.1/class_t_m1829_controller800_khz.html2
-rw-r--r--docs/3.1/class_u_c_s1903.html2
-rw-r--r--docs/3.1/class_u_c_s1903_b.html2
-rw-r--r--docs/3.1/class_u_c_s1903_b_controller800_khz.html2
-rw-r--r--docs/3.1/class_u_c_s1903_controller400_khz.html2
-rw-r--r--docs/3.1/class_u_c_s1904.html2
-rw-r--r--docs/3.1/class_u_c_s1904_controller800_khz.html2
-rw-r--r--docs/3.1/class_w_s2801_controller-members.html2
-rw-r--r--docs/3.1/class_w_s2801_controller.html2
-rw-r--r--docs/3.1/class_w_s2803_controller-members.html2
-rw-r--r--docs/3.1/class_w_s2803_controller.html2
-rw-r--r--docs/3.1/class_w_s2811.html2
-rw-r--r--docs/3.1/class_w_s2811__400.html2
-rw-r--r--docs/3.1/class_w_s2811_controller400_khz.html2
-rw-r--r--docs/3.1/class_w_s2811_controller800_khz.html2
-rw-r--r--docs/3.1/class_w_s2812.html2
-rw-r--r--docs/3.1/class_w_s2812_b.html2
-rw-r--r--docs/3.1/class_w_s2812_controller800_khz.html2
-rw-r--r--docs/3.1/classes.html2
-rw-r--r--docs/3.1/classq-members.html2
-rw-r--r--docs/3.1/classq.html14
-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.html34
-rw-r--r--docs/3.1/controller_8h_source.html2
-rw-r--r--docs/3.1/dir_fbb9e787cf27434374136273d35a9c17.html2
-rw-r--r--docs/3.1/dmx_8h_source.html2
-rw-r--r--docs/3.1/fastled__config_8h_source.html2
-rw-r--r--docs/3.1/fastled__delay_8h_source.html2
-rw-r--r--docs/3.1/fastled__progmem_8h_source.html2
-rw-r--r--docs/3.1/fastpin_8h_source.html2
-rw-r--r--docs/3.1/fastspi_8h_source.html2
-rw-r--r--docs/3.1/fastspi__bitbang_8h_source.html2
-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.html2
-rw-r--r--docs/3.1/files.html2
-rw-r--r--docs/3.1/functions.html2
-rw-r--r--docs/3.1/functions_func.html2
-rw-r--r--docs/3.1/globals.html2
-rw-r--r--docs/3.1/globals_func.html2
-rw-r--r--docs/3.1/graph_legend.html2
-rw-r--r--docs/3.1/group___bitswap.html2
-rw-r--r--docs/3.1/group___color_enums.html2
-rw-r--r--docs/3.1/group___colorpalletes.html2
-rw-r--r--docs/3.1/group___colorutils.html26
-rw-r--r--docs/3.1/group___dimming.html2
-rw-r--r--docs/3.1/group___math.html2
-rw-r--r--docs/3.1/group___noise.html6
-rw-r--r--docs/3.1/group___random.html2
-rw-r--r--docs/3.1/group___scaling.html48
-rw-r--r--docs/3.1/group___trig.html2
-rw-r--r--docs/3.1/group__lib8tion.html155
-rw-r--r--docs/3.1/hierarchy.html6
-rw-r--r--docs/3.1/hsv2rgb_8h_source.html2
-rw-r--r--docs/3.1/index.html2
-rw-r--r--docs/3.1/inherit_graph_18.map2
-rw-r--r--docs/3.1/inherit_graph_18.md52
-rw-r--r--docs/3.1/inherit_graph_22.map2
-rw-r--r--docs/3.1/inherit_graph_22.md52
-rw-r--r--docs/3.1/inherits.html6
-rw-r--r--docs/3.1/led__sysdefs_8h_source.html2
-rw-r--r--docs/3.1/lib8tion_8h_source.html1298
-rw-r--r--docs/3.1/math8_8h_source.html2
-rw-r--r--docs/3.1/md__p_o_r_t_i_n_g.html2
-rw-r--r--docs/3.1/md__r_e_a_d_m_e.html2
-rw-r--r--docs/3.1/md_release_notes.html2
-rw-r--r--docs/3.1/modules.html2
-rw-r--r--docs/3.1/noise_8h.html6
-rw-r--r--docs/3.1/noise_8h_source.html10
-rw-r--r--docs/3.1/pages.html2
-rw-r--r--docs/3.1/pixeltypes_8h_source.html12
-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/random8_8h_source.html2
-rw-r--r--docs/3.1/scale8_8h_source.html28
-rw-r--r--docs/3.1/search/all_1.js3
-rw-r--r--docs/3.1/search/all_10.js4
-rw-r--r--docs/3.1/search/all_12.js5
-rw-r--r--docs/3.1/search/all_6.js2
-rw-r--r--docs/3.1/search/searchdata.js27
-rw-r--r--docs/3.1/struct_c_h_s_v-members.html2
-rw-r--r--docs/3.1/struct_c_h_s_v.html2
-rw-r--r--docs/3.1/struct_c_r_g_b-members.html2
-rw-r--r--docs/3.1/struct_c_r_g_b.html6
-rw-r--r--docs/3.1/struct_multi_pixel_controller-members.html2
-rw-r--r--docs/3.1/struct_multi_pixel_controller.html2
-rw-r--r--docs/3.1/struct_pixel_controller-members.html2
-rw-r--r--docs/3.1/struct_pixel_controller.html2
-rw-r--r--docs/3.1/structsub4-members.html2
-rw-r--r--docs/3.1/structsub4.html2
-rw-r--r--docs/3.1/todo.html2
-rw-r--r--docs/3.1/trig8_8h_source.html2
-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.html11
-rw-r--r--docs/3.1/union_t_r_g_b_gradient_palette_entry_union-members.html2
-rw-r--r--docs/3.1/union_t_r_g_b_gradient_palette_entry_union.html2
-rw-r--r--docs/3.1/unionbitswap__type-members.html2
-rw-r--r--docs/3.1/unionbitswap__type.html2
-rw-r--r--docs/3.1/unionjust8bits-members.html2
-rw-r--r--docs/3.1/unionjust8bits.html2
-rw-r--r--docs/3.1/uniont_bytes_for_long-members.html2
-rw-r--r--docs/3.1/uniont_bytes_for_long.html2
183 files changed, 1083 insertions, 954 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 1a344651..96b20ed8 100644
--- a/docs/3.1/_fast_l_e_d_8h_source.html
+++ b/docs/3.1/_fast_l_e_d_8h_source.html
@@ -509,7 +509,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 daa874e1..1d762147 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
@@ -92,7 +92,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/annotated.html b/docs/3.1/annotated.html
index bf62dc37..b7f46529 100644
--- a/docs/3.1/annotated.html
+++ b/docs/3.1/annotated.html
@@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<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_g_w6205__400.html" target="_self">GW6205_400</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_controller400_khz.html" target="_self">GW6205Controller400Khz</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_controller800_khz.html" target="_self">GW6205Controller800Khz</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="union_i_e_e_e754binary32__t.html" target="_self">IEEE754binary32_t</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="union_i_e_e_e754binary32__t.html" target="_self">IEEE754binary32_t</a></td><td class="desc">Typedef for IEEE754 "binary32" float type internals </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_input_pin.html" target="_self">InputPin</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="unionjust8bits.html" target="_self">just8bits</a></td><td class="desc">Structure representing 8 bits of access </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_l_p_d1886.html" target="_self">LPD1886</a></td><td class="desc"></td></tr>
@@ -128,7 +128,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<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_p9813_controller.html" target="_self">P9813Controller</a></td><td class="desc">P9813 controller class </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_pin.html" target="_self">Pin</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="struct_pixel_controller.html" target="_self">PixelController</a></td><td class="desc">Pixel controller class </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="classq.html" target="_self">q</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="classq.html" target="_self">q</a></td><td class="desc">Template class for represneting fractional ints </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_selectable.html" target="_self">Selectable</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_s_m16716_controller.html" target="_self">SM16716Controller</a></td><td class="desc">SM16716 controller class </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_software_s_p_i_output.html" target="_self">SoftwareSPIOutput</a></td><td class="desc"></td></tr>
@@ -170,7 +170,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/bitswap_8h.html b/docs/3.1/bitswap_8h.html
index ac33c413..2003318c 100644
--- a/docs/3.1/bitswap_8h.html
+++ b/docs/3.1/bitswap_8h.html
@@ -120,7 +120,7 @@ Functions</h2></td></tr>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/bitswap_8h_source.html b/docs/3.1/bitswap_8h_source.html
index cfcd3309..79bf53ec 100644
--- a/docs/3.1/bitswap_8h_source.html
+++ b/docs/3.1/bitswap_8h_source.html
@@ -351,7 +351,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/chipsets_8h_source.html b/docs/3.1/chipsets_8h_source.html
index 56b6a68e..ed736d10 100644
--- a/docs/3.1/chipsets_8h_source.html
+++ b/docs/3.1/chipsets_8h_source.html
@@ -642,7 +642,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 dd44b0e0..db5d92eb 100644
--- a/docs/3.1/class_a_p_a102_controller-members.html
+++ b/docs/3.1/class_a_p_a102_controller-members.html
@@ -133,7 +133,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 aea98467..384d9c3c 100644
--- a/docs/3.1/class_a_p_a102_controller.html
+++ b/docs/3.1/class_a_p_a102_controller.html
@@ -444,7 +444,7 @@ template&lt;uint8_t DATA_PIN, uint8_t CLOCK_PIN, EOrder RGB_ORDER = BGR, uint8_t
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_a_p_a104.html b/docs/3.1/class_a_p_a104.html
index 70317b5e..f4ca40ee 100644
--- a/docs/3.1/class_a_p_a104.html
+++ b/docs/3.1/class_a_p_a104.html
@@ -109,7 +109,7 @@ Collaboration diagram for APA104&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
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 425bca43..e585396e 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
@@ -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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 9d290636..4c14e60d 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
@@ -140,7 +140,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_c_every_n_time_periods-members.html b/docs/3.1/class_c_every_n_time_periods-members.html
index 9634e14f..e5d8002a 100644
--- a/docs/3.1/class_c_every_n_time_periods-members.html
+++ b/docs/3.1/class_c_every_n_time_periods-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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_c_every_n_time_periods.html b/docs/3.1/class_c_every_n_time_periods.html
index bf75befc..09b1ec71 100644
--- a/docs/3.1/class_c_every_n_time_periods.html
+++ b/docs/3.1/class_c_every_n_time_periods.html
@@ -145,7 +145,7 @@ timeType&#160;</td><td class="memItemRight" valign="bottom"><b>mPeriod</b></td><
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 9e454813..4130066d 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
@@ -133,7 +133,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 4d4e5de2..37beb200 100644
--- a/docs/3.1/class_c_fast_l_e_d.html
+++ b/docs/3.1/class_c_fast_l_e_d.html
@@ -1009,7 +1009,7 @@ template&lt;EBlockChipsets CHIPSET, int NUM_LANES, EOrder RGB_ORDER&gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
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 12ab866e..2e3ec6f4 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
@@ -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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 311080fa..d3803f32 100644
--- a/docs/3.1/class_c_h_s_v_palette16.html
+++ b/docs/3.1/class_c_h_s_v_palette16.html
@@ -158,7 +158,7 @@ Public Attributes</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 1d33f8c3..001e6a31 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
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 1217a938..f124140a 100644
--- a/docs/3.1/class_c_h_s_v_palette256.html
+++ b/docs/3.1/class_c_h_s_v_palette256.html
@@ -164,7 +164,7 @@ Public Attributes</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 992a9e73..ac31ac09 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
@@ -132,7 +132,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 aa08121f..fa8f12c0 100644
--- a/docs/3.1/class_c_l_e_d_controller.html
+++ b/docs/3.1/class_c_l_e_d_controller.html
@@ -384,7 +384,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_c_min_wait-members.html b/docs/3.1/class_c_min_wait-members.html
index 4cb6fd96..8a023994 100644
--- a/docs/3.1/class_c_min_wait-members.html
+++ b/docs/3.1/class_c_min_wait-members.html
@@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_c_min_wait.html b/docs/3.1/class_c_min_wait.html
index cdc5b308..e6ca8912 100644
--- a/docs/3.1/class_c_min_wait.html
+++ b/docs/3.1/class_c_min_wait.html
@@ -118,7 +118,7 @@ class CMinWait&lt; WAIT &gt;</h3>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 69070faa..2e2c5d34 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
@@ -120,7 +120,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 327400d1..e02c2b67 100644
--- a/docs/3.1/class_c_r_g_b_palette16.html
+++ b/docs/3.1/class_c_r_g_b_palette16.html
@@ -185,7 +185,7 @@ Public Attributes</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 d0fd2b2b..3cb8737c 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
@@ -122,7 +122,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 d6de45bc..b45dd25a 100644
--- a/docs/3.1/class_c_r_g_b_palette256.html
+++ b/docs/3.1/class_c_r_g_b_palette256.html
@@ -191,7 +191,7 @@ Public Attributes</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 240fde9f..52138542 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
@@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 cceb0520..3dfdf983 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
@@ -127,7 +127,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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
index 4a8d718d..45825e28 100644
--- 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
@@ -131,7 +131,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
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
index 9a97315e..f73aeb0c 100644
--- 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
@@ -255,7 +255,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
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
index 4341274e..c118bf6d 100644
--- 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
@@ -131,7 +131,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
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
index d4d0e1d2..bf4071b5 100644
--- 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
@@ -256,7 +256,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
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
index b58df693..5e12f71b 100644
--- a/docs/3.1/class_d_m_x_serial_controller-members.html
+++ b/docs/3.1/class_d_m_x_serial_controller-members.html
@@ -131,7 +131,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_d_m_x_serial_controller.html b/docs/3.1/class_d_m_x_serial_controller.html
index 3d1198a2..fb0c20fd 100644
--- a/docs/3.1/class_d_m_x_serial_controller.html
+++ b/docs/3.1/class_d_m_x_serial_controller.html
@@ -367,7 +367,7 @@ template&lt;EOrder RGB_ORDER = RGB&gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
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
index 968774ea..6081d1f8 100644
--- a/docs/3.1/class_d_m_x_simple_controller-members.html
+++ b/docs/3.1/class_d_m_x_simple_controller-members.html
@@ -131,7 +131,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_d_m_x_simple_controller.html b/docs/3.1/class_d_m_x_simple_controller.html
index b3bf71c6..562ecd28 100644
--- a/docs/3.1/class_d_m_x_simple_controller.html
+++ b/docs/3.1/class_d_m_x_simple_controller.html
@@ -371,7 +371,7 @@ template&lt;uint8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_fast_pin-members.html b/docs/3.1/class_fast_pin-members.html
index 35940583..f5331364 100644
--- a/docs/3.1/class_fast_pin-members.html
+++ b/docs/3.1/class_fast_pin-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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_fast_pin.html b/docs/3.1/class_fast_pin.html
index b8477b7b..9dd37d8b 100644
--- a/docs/3.1/class_fast_pin.html
+++ b/docs/3.1/class_fast_pin.html
@@ -175,7 +175,7 @@ class FastPin&lt; PIN &gt;</h3>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_fast_pin_b_b-members.html b/docs/3.1/class_fast_pin_b_b-members.html
index 54dd78fb..41c69dcd 100644
--- a/docs/3.1/class_fast_pin_b_b-members.html
+++ b/docs/3.1/class_fast_pin_b_b-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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_fast_pin_b_b.html b/docs/3.1/class_fast_pin_b_b.html
index b8289c4a..4f098e02 100644
--- a/docs/3.1/class_fast_pin_b_b.html
+++ b/docs/3.1/class_fast_pin_b_b.html
@@ -165,7 +165,7 @@ static port_t&#160;</td><td class="memItemRight" valign="bottom"><b>mask</b> ()
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_g_w6205.html b/docs/3.1/class_g_w6205.html
index b6014b52..07d36af2 100644
--- a/docs/3.1/class_g_w6205.html
+++ b/docs/3.1/class_g_w6205.html
@@ -109,7 +109,7 @@ Collaboration diagram for GW6205&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_g_w6205__400.html b/docs/3.1/class_g_w6205__400.html
index bdb75c78..7360a2cb 100644
--- a/docs/3.1/class_g_w6205__400.html
+++ b/docs/3.1/class_g_w6205__400.html
@@ -109,7 +109,7 @@ Collaboration 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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_g_w6205_controller400_khz.html b/docs/3.1/class_g_w6205_controller400_khz.html
index 9bb5ef14..aac7ed8a 100644
--- a/docs/3.1/class_g_w6205_controller400_khz.html
+++ b/docs/3.1/class_g_w6205_controller400_khz.html
@@ -107,7 +107,7 @@ Collaboration diagram for GW6205Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;:</
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_g_w6205_controller800_khz.html b/docs/3.1/class_g_w6205_controller800_khz.html
index 3fdebe36..b27aab79 100644
--- a/docs/3.1/class_g_w6205_controller800_khz.html
+++ b/docs/3.1/class_g_w6205_controller800_khz.html
@@ -107,7 +107,7 @@ Collaboration diagram for GW6205Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;:</
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_input_pin-members.html b/docs/3.1/class_input_pin-members.html
index 536db051..3f33dab1 100644
--- a/docs/3.1/class_input_pin-members.html
+++ b/docs/3.1/class_input_pin-members.html
@@ -138,7 +138,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_input_pin.html b/docs/3.1/class_input_pin.html
index 4b16d621..c307d0e0 100644
--- a/docs/3.1/class_input_pin.html
+++ b/docs/3.1/class_input_pin.html
@@ -250,7 +250,7 @@ typedef RwReg&#160;</td><td class="memItemRight" valign="bottom"><b>port_t</b></
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_l_p_d1886.html b/docs/3.1/class_l_p_d1886.html
index 618b7b76..3002d6f3 100644
--- a/docs/3.1/class_l_p_d1886.html
+++ b/docs/3.1/class_l_p_d1886.html
@@ -109,7 +109,7 @@ Collaboration diagram for LPD1886&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
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 5f689a5c..f87246d4 100644
--- a/docs/3.1/class_l_p_d1886_controller1250_khz.html
+++ b/docs/3.1/class_l_p_d1886_controller1250_khz.html
@@ -107,7 +107,7 @@ Collaboration diagram for LPD1886Controller1250Khz&lt; DATA_PIN, RGB_ORDER &gt;:
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
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 2c0f6ccd..fd240418 100644
--- a/docs/3.1/class_l_p_d8806_controller-members.html
+++ b/docs/3.1/class_l_p_d8806_controller-members.html
@@ -132,7 +132,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 4fc22257..d87be1a2 100644
--- a/docs/3.1/class_l_p_d8806_controller.html
+++ b/docs/3.1/class_l_p_d8806_controller.html
@@ -391,7 +391,7 @@ template&lt;uint8_t DATA_PIN, uint8_t CLOCK_PIN, EOrder RGB_ORDER = RGB, uint8_t
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 9cd39dd8..965f0006 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
@@ -109,7 +109,7 @@ Collaboration diagram for NEOPIXEL&lt; DATA_PIN &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_output_pin-members.html b/docs/3.1/class_output_pin-members.html
index 7358052f..1372ebec 100644
--- a/docs/3.1/class_output_pin-members.html
+++ b/docs/3.1/class_output_pin-members.html
@@ -138,7 +138,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_output_pin.html b/docs/3.1/class_output_pin.html
index e3c3345f..ee151425 100644
--- a/docs/3.1/class_output_pin.html
+++ b/docs/3.1/class_output_pin.html
@@ -250,7 +250,7 @@ typedef RwReg&#160;</td><td class="memItemRight" valign="bottom"><b>port_t</b></
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_p9813_controller-members.html b/docs/3.1/class_p9813_controller-members.html
index dab8d18a..ef576e6a 100644
--- a/docs/3.1/class_p9813_controller-members.html
+++ b/docs/3.1/class_p9813_controller-members.html
@@ -133,7 +133,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_p9813_controller.html b/docs/3.1/class_p9813_controller.html
index 91f03480..178ee2fc 100644
--- a/docs/3.1/class_p9813_controller.html
+++ b/docs/3.1/class_p9813_controller.html
@@ -444,7 +444,7 @@ template&lt;uint8_t DATA_PIN, uint8_t CLOCK_PIN, EOrder RGB_ORDER = RGB, uint8_t
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_pin-members.html b/docs/3.1/class_pin-members.html
index 0275d50a..771ea2de 100644
--- a/docs/3.1/class_pin-members.html
+++ b/docs/3.1/class_pin-members.html
@@ -136,7 +136,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_pin.html b/docs/3.1/class_pin.html
index 299d02d1..3b0d3b1e 100644
--- a/docs/3.1/class_pin.html
+++ b/docs/3.1/class_pin.html
@@ -243,7 +243,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 Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_s_m16716_controller-members.html b/docs/3.1/class_s_m16716_controller-members.html
index b016cb9c..3a0e6fcc 100644
--- a/docs/3.1/class_s_m16716_controller-members.html
+++ b/docs/3.1/class_s_m16716_controller-members.html
@@ -132,7 +132,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_s_m16716_controller.html b/docs/3.1/class_s_m16716_controller.html
index 40e8c9b2..8750f88d 100644
--- a/docs/3.1/class_s_m16716_controller.html
+++ b/docs/3.1/class_s_m16716_controller.html
@@ -386,7 +386,7 @@ template&lt;uint8_t DATA_PIN, uint8_t CLOCK_PIN, EOrder RGB_ORDER = RGB, uint8_t
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 565d8d65..670d325e 100644
--- a/docs/3.1/class_s_p_i_output-members.html
+++ b/docs/3.1/class_s_p_i_output-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 Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 a93facf0..21c2cf6c 100644
--- a/docs/3.1/class_s_p_i_output.html
+++ b/docs/3.1/class_s_p_i_output.html
@@ -150,7 +150,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 Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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
index 1e24df5f..41b4357a 100644
--- 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
@@ -105,7 +105,7 @@ Collaboration diagram for SPIOutput&lt; SPI2_DATA, SPI2_CLOCK, SPI_SPEED &gt;:</
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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_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_i2___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
index 2ca0b712..baac38dc 100644
--- a/docs/3.1/class_s_p_i_output_3_01_s_p_i2___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_i2___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
@@ -105,7 +105,7 @@ Collaboration diagram for SPIOutput&lt; SPI2_DATA, SPI_CLOCK, SPI_SPEED &gt;:</d
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_s_p_i_output_3_01_s_p_i___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_i___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
index ace32547..28d89d5b 100644
--- a/docs/3.1/class_s_p_i_output_3_01_s_p_i___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_i___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
@@ -105,7 +105,7 @@ Collaboration diagram for SPIOutput&lt; SPI_DATA, SPI2_CLOCK, SPI_SPEED &gt;:</d
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
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
index 0ddcfeb7..d9fe6abf 100644
--- 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
@@ -105,7 +105,7 @@ Collaboration diagram for SPIOutput&lt; SPI_DATA, SPI_CLOCK, SPI_SPEED &gt;:</di
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_s_p_i_output_3_01_s_p_i___u_a_r_t0___d_a_t_a_00_01_s_p_i___u_a_r_t0___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___u_a_r_t0___d_a_t_a_00_01_s_p_i___u_a_r_t0___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html
index af8e58d2..d85c2e33 100644
--- a/docs/3.1/class_s_p_i_output_3_01_s_p_i___u_a_r_t0___d_a_t_a_00_01_s_p_i___u_a_r_t0___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___u_a_r_t0___d_a_t_a_00_01_s_p_i___u_a_r_t0___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html
@@ -105,7 +105,7 @@ Collaboration diagram for SPIOutput&lt; SPI_UART0_DATA, SPI_UART0_CLOCK, SPI_SPE
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_s_p_i_output_3_01_s_p_i___u_a_r_t1___d_a_t_a_00_01_s_p_i___u_a_r_t1___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___u_a_r_t1___d_a_t_a_00_01_s_p_i___u_a_r_t1___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html
index c64c35b1..9b6a76fc 100644
--- a/docs/3.1/class_s_p_i_output_3_01_s_p_i___u_a_r_t1___d_a_t_a_00_01_s_p_i___u_a_r_t1___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___u_a_r_t1___d_a_t_a_00_01_s_p_i___u_a_r_t1___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html
@@ -105,7 +105,7 @@ Collaboration diagram for SPIOutput&lt; SPI_UART1_DATA, SPI_UART1_CLOCK, SPI_SPE
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_selectable-members.html b/docs/3.1/class_selectable-members.html
index 06bdbadd..47f76596 100644
--- a/docs/3.1/class_selectable-members.html
+++ b/docs/3.1/class_selectable-members.html
@@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_selectable.html b/docs/3.1/class_selectable.html
index 5bd63021..abc20543 100644
--- a/docs/3.1/class_selectable.html
+++ b/docs/3.1/class_selectable.html
@@ -118,7 +118,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 Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
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 4e2dc14d..dc73f472 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
@@ -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 Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 5632b868..a857caa8 100644
--- a/docs/3.1/class_software_s_p_i_output.html
+++ b/docs/3.1/class_software_s_p_i_output.html
@@ -150,7 +150,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 Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_t_m1803.html b/docs/3.1/class_t_m1803.html
index ef5e4d35..92c47aca 100644
--- a/docs/3.1/class_t_m1803.html
+++ b/docs/3.1/class_t_m1803.html
@@ -109,7 +109,7 @@ Collaboration diagram for TM1803&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_t_m1803_controller400_khz.html b/docs/3.1/class_t_m1803_controller400_khz.html
index 5272d906..4d71e844 100644
--- a/docs/3.1/class_t_m1803_controller400_khz.html
+++ b/docs/3.1/class_t_m1803_controller400_khz.html
@@ -107,7 +107,7 @@ Collaboration diagram for TM1803Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;:</
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_t_m1804.html b/docs/3.1/class_t_m1804.html
index abd31788..2bc88fdb 100644
--- a/docs/3.1/class_t_m1804.html
+++ b/docs/3.1/class_t_m1804.html
@@ -109,7 +109,7 @@ Collaboration diagram for TM1804&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_t_m1809.html b/docs/3.1/class_t_m1809.html
index b09f968f..6971bd80 100644
--- a/docs/3.1/class_t_m1809.html
+++ b/docs/3.1/class_t_m1809.html
@@ -109,7 +109,7 @@ Collaboration diagram for TM1809&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_t_m1809_controller800_khz.html b/docs/3.1/class_t_m1809_controller800_khz.html
index 161d9e2c..fc06033c 100644
--- a/docs/3.1/class_t_m1809_controller800_khz.html
+++ b/docs/3.1/class_t_m1809_controller800_khz.html
@@ -107,7 +107,7 @@ Collaboration diagram for TM1809Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;:</
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_t_m1829.html b/docs/3.1/class_t_m1829.html
index d9041b17..a6271df0 100644
--- a/docs/3.1/class_t_m1829.html
+++ b/docs/3.1/class_t_m1829.html
@@ -109,7 +109,7 @@ Collaboration diagram for TM1829&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_t_m1829_controller1600_khz.html b/docs/3.1/class_t_m1829_controller1600_khz.html
index a3d95bd0..dd6d5714 100644
--- a/docs/3.1/class_t_m1829_controller1600_khz.html
+++ b/docs/3.1/class_t_m1829_controller1600_khz.html
@@ -105,7 +105,7 @@ Collaboration diagram for TM1829Controller1600Khz&lt; DATA_PIN, RGB_ORDER &gt;:<
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 1bcf748b..1e969f4d 100644
--- a/docs/3.1/class_t_m1829_controller800_khz.html
+++ b/docs/3.1/class_t_m1829_controller800_khz.html
@@ -107,7 +107,7 @@ Collaboration diagram for TM1829Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;:</
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_u_c_s1903.html b/docs/3.1/class_u_c_s1903.html
index e641ac04..aefc00e7 100644
--- a/docs/3.1/class_u_c_s1903.html
+++ b/docs/3.1/class_u_c_s1903.html
@@ -109,7 +109,7 @@ Collaboration diagram for UCS1903&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_u_c_s1903_b.html b/docs/3.1/class_u_c_s1903_b.html
index fafa4e27..5603e4e2 100644
--- a/docs/3.1/class_u_c_s1903_b.html
+++ b/docs/3.1/class_u_c_s1903_b.html
@@ -109,7 +109,7 @@ Collaboration diagram for UCS1903B&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
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 b752788e..3d852c00 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
@@ -107,7 +107,7 @@ Collaboration diagram for UCS1903BController800Khz&lt; DATA_PIN, RGB_ORDER &gt;:
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
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 d26f18a2..db7a7ec8 100644
--- a/docs/3.1/class_u_c_s1903_controller400_khz.html
+++ b/docs/3.1/class_u_c_s1903_controller400_khz.html
@@ -107,7 +107,7 @@ Collaboration diagram for UCS1903Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;:<
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_u_c_s1904.html b/docs/3.1/class_u_c_s1904.html
index bc565490..534cd970 100644
--- a/docs/3.1/class_u_c_s1904.html
+++ b/docs/3.1/class_u_c_s1904.html
@@ -109,7 +109,7 @@ Collaboration diagram for UCS1904&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_u_c_s1904_controller800_khz.html b/docs/3.1/class_u_c_s1904_controller800_khz.html
index 5f043ae4..4833cea3 100644
--- a/docs/3.1/class_u_c_s1904_controller800_khz.html
+++ b/docs/3.1/class_u_c_s1904_controller800_khz.html
@@ -107,7 +107,7 @@ Collaboration diagram for UCS1904Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;:<
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_w_s2801_controller-members.html b/docs/3.1/class_w_s2801_controller-members.html
index 0a7c64be..ffeaff48 100644
--- a/docs/3.1/class_w_s2801_controller-members.html
+++ b/docs/3.1/class_w_s2801_controller-members.html
@@ -133,7 +133,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_w_s2801_controller.html b/docs/3.1/class_w_s2801_controller.html
index a419feed..accb03a8 100644
--- a/docs/3.1/class_w_s2801_controller.html
+++ b/docs/3.1/class_w_s2801_controller.html
@@ -444,7 +444,7 @@ template&lt;uint8_t DATA_PIN, uint8_t CLOCK_PIN, EOrder RGB_ORDER = RGB, uint8_t
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 8d8496d5..eadcf69b 100644
--- a/docs/3.1/class_w_s2803_controller-members.html
+++ b/docs/3.1/class_w_s2803_controller-members.html
@@ -133,7 +133,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_w_s2803_controller.html b/docs/3.1/class_w_s2803_controller.html
index da8cd050..1f650fb9 100644
--- a/docs/3.1/class_w_s2803_controller.html
+++ b/docs/3.1/class_w_s2803_controller.html
@@ -256,7 +256,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 Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_w_s2811.html b/docs/3.1/class_w_s2811.html
index 0589cc7a..e287865a 100644
--- a/docs/3.1/class_w_s2811.html
+++ b/docs/3.1/class_w_s2811.html
@@ -109,7 +109,7 @@ Collaboration diagram for WS2811&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_w_s2811__400.html b/docs/3.1/class_w_s2811__400.html
index b3ada500..afe0c1fa 100644
--- a/docs/3.1/class_w_s2811__400.html
+++ b/docs/3.1/class_w_s2811__400.html
@@ -109,7 +109,7 @@ Collaboration 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 Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_w_s2811_controller400_khz.html b/docs/3.1/class_w_s2811_controller400_khz.html
index d9056592..9a45edae 100644
--- a/docs/3.1/class_w_s2811_controller400_khz.html
+++ b/docs/3.1/class_w_s2811_controller400_khz.html
@@ -107,7 +107,7 @@ Collaboration diagram for WS2811Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;:</
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_w_s2811_controller800_khz.html b/docs/3.1/class_w_s2811_controller800_khz.html
index f09be577..49bf2511 100644
--- a/docs/3.1/class_w_s2811_controller800_khz.html
+++ b/docs/3.1/class_w_s2811_controller800_khz.html
@@ -107,7 +107,7 @@ Collaboration diagram for WS2811Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;:</
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_w_s2812.html b/docs/3.1/class_w_s2812.html
index 88a6643c..9ee1ee85 100644
--- a/docs/3.1/class_w_s2812.html
+++ b/docs/3.1/class_w_s2812.html
@@ -109,7 +109,7 @@ Collaboration diagram for WS2812&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_w_s2812_b.html b/docs/3.1/class_w_s2812_b.html
index a738b12f..093bf729 100644
--- a/docs/3.1/class_w_s2812_b.html
+++ b/docs/3.1/class_w_s2812_b.html
@@ -109,7 +109,7 @@ Collaboration diagram for WS2812B&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/class_w_s2812_controller800_khz.html b/docs/3.1/class_w_s2812_controller800_khz.html
index 6cd1a27c..1f57f578 100644
--- a/docs/3.1/class_w_s2812_controller800_khz.html
+++ b/docs/3.1/class_w_s2812_controller800_khz.html
@@ -107,7 +107,7 @@ Collaboration diagram for WS2812Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;:</
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/classes.html b/docs/3.1/classes.html
index 80178491..3c3c16bf 100644
--- a/docs/3.1/classes.html
+++ b/docs/3.1/classes.html
@@ -141,7 +141,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/classq-members.html b/docs/3.1/classq-members.html
index 66549669..7ff97c5b 100644
--- a/docs/3.1/classq-members.html
+++ b/docs/3.1/classq-members.html
@@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/classq.html b/docs/3.1/classq.html
index d9235711..2fc4e9e8 100644
--- a/docs/3.1/classq.html
+++ b/docs/3.1/classq.html
@@ -92,6 +92,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="title">q&lt; T, F, I &gt; Class Template Reference<div class="ingroups"><a class="el" href="group__lib8tion.html">Fast math functions</a></div></div> </div>
</div><!--header-->
<div class="contents">
+
+<p>Template class for represneting fractional ints.
+ <a href="classq.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="lib8tion_8h_source.html">lib8tion.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>
@@ -117,13 +122,18 @@ int16_t&#160;</td><td class="memItemRight" valign="bottom"><b>operator*</b> (int
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>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template&lt;class T, int F, int I&gt;<br />
+class q&lt; T, F, I &gt;</h3>
+
+<p>Template class for represneting fractional ints. </p>
+</div><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>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/color_8h_source.html b/docs/3.1/color_8h_source.html
index 5518f05e..1871208d 100644
--- a/docs/3.1/color_8h_source.html
+++ b/docs/3.1/color_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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/colorpalettes_8h_source.html b/docs/3.1/colorpalettes_8h_source.html
index 8cc9f9f4..d3f6e342 100644
--- a/docs/3.1/colorpalettes_8h_source.html
+++ b/docs/3.1/colorpalettes_8h_source.html
@@ -120,7 +120,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/colorutils_8h_source.html b/docs/3.1/colorutils_8h_source.html
index b7478978..6c3292bc 100644
--- a/docs/3.1/colorutils_8h_source.html
+++ b/docs/3.1/colorutils_8h_source.html
@@ -216,9 +216,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; satdelta87 *= 2;</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; valdelta87 *= 2;</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; accum88 hue88 = startcolor.hue &lt;&lt; 8;</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; accum88 sat88 = startcolor.sat &lt;&lt; 8;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; accum88 val88 = startcolor.val &lt;&lt; 8;</div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a">accum88</a> hue88 = startcolor.hue &lt;&lt; 8;</div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <a class="code" href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a">accum88</a> sat88 = startcolor.sat &lt;&lt; 8;</div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a">accum88</a> val88 = startcolor.val &lt;&lt; 8;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">for</span>( uint16_t i = startpos; i &lt;= endpos; i++) {</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; targetArray[i] = <a class="code" href="struct_c_h_s_v.html">CHSV</a>( hue88 &gt;&gt; 8, sat88 &gt;&gt; 8, val88 &gt;&gt; 8);</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; hue88 += huedelta87;</div>
@@ -323,9 +323,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;<span class="comment">// blend - computes a new color blended some fraction of the way</span></div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;<span class="comment">// between two other colors.</span></div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;<a class="code" href="struct_c_r_g_b.html">CRGB</a> blend( <span class="keyword">const</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a>&amp; p1, <span class="keyword">const</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a>&amp; p2, fract8 amountOfP2 );</div>
+<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;<a class="code" href="struct_c_r_g_b.html">CRGB</a> blend( <span class="keyword">const</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a>&amp; p1, <span class="keyword">const</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a>&amp; p2, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> amountOfP2 );</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;<a class="code" href="struct_c_h_s_v.html">CHSV</a> blend( <span class="keyword">const</span> <a class="code" href="struct_c_h_s_v.html">CHSV</a>&amp; p1, <span class="keyword">const</span> <a class="code" href="struct_c_h_s_v.html">CHSV</a>&amp; p2, fract8 amountOfP2,</div>
+<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;<a class="code" href="struct_c_h_s_v.html">CHSV</a> blend( <span class="keyword">const</span> <a class="code" href="struct_c_h_s_v.html">CHSV</a>&amp; p1, <span class="keyword">const</span> <a class="code" href="struct_c_h_s_v.html">CHSV</a>&amp; p2, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> amountOfP2,</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; TGradientDirectionCode directionCode = SHORTEST_HUES );</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;<span class="comment">// blend - computes a new color blended array of colors, each</span></div>
@@ -333,24 +333,24 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;<span class="comment">// elements of two source arrays of colors.</span></div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;<span class="comment">// Useful for blending palettes.</span></div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;<a class="code" href="struct_c_r_g_b.html">CRGB</a>* blend( <span class="keyword">const</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a>* src1, <span class="keyword">const</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a>* src2, <a class="code" href="struct_c_r_g_b.html">CRGB</a>* dest,</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; uint16_t count, fract8 amountOfsrc2 );</div>
+<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; uint16_t count, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> amountOfsrc2 );</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;<a class="code" href="struct_c_h_s_v.html">CHSV</a>* blend( <span class="keyword">const</span> <a class="code" href="struct_c_h_s_v.html">CHSV</a>* src1, <span class="keyword">const</span> <a class="code" href="struct_c_h_s_v.html">CHSV</a>* src2, <a class="code" href="struct_c_h_s_v.html">CHSV</a>* dest,</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; uint16_t count, fract8 amountOfsrc2,</div>
+<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; uint16_t count, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> amountOfsrc2,</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; TGradientDirectionCode directionCode = SHORTEST_HUES );</div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;</div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;<span class="comment">// nblend - destructively modifies one color, blending</span></div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;<span class="comment">// in a given fraction of an overlay color</span></div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;<a class="code" href="struct_c_r_g_b.html">CRGB</a>&amp; nblend( <a class="code" href="struct_c_r_g_b.html">CRGB</a>&amp; existing, <span class="keyword">const</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a>&amp; overlay, fract8 amountOfOverlay );</div>
+<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;<a class="code" href="struct_c_r_g_b.html">CRGB</a>&amp; nblend( <a class="code" href="struct_c_r_g_b.html">CRGB</a>&amp; existing, <span class="keyword">const</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a>&amp; overlay, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> amountOfOverlay );</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;<a class="code" href="struct_c_h_s_v.html">CHSV</a>&amp; nblend( <a class="code" href="struct_c_h_s_v.html">CHSV</a>&amp; existing, <span class="keyword">const</span> <a class="code" href="struct_c_h_s_v.html">CHSV</a>&amp; overlay, fract8 amountOfOverlay,</div>
+<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;<a class="code" href="struct_c_h_s_v.html">CHSV</a>&amp; nblend( <a class="code" href="struct_c_h_s_v.html">CHSV</a>&amp; existing, <span class="keyword">const</span> <a class="code" href="struct_c_h_s_v.html">CHSV</a>&amp; overlay, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> amountOfOverlay,</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; TGradientDirectionCode directionCode = SHORTEST_HUES );</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;<span class="comment">// nblend - destructively blends a given fraction of</span></div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;<span class="comment">// a new color array into an existing color array</span></div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;<span class="keywordtype">void</span> nblend( <a class="code" href="struct_c_r_g_b.html">CRGB</a>* existing, <a class="code" href="struct_c_r_g_b.html">CRGB</a>* overlay, uint16_t count, fract8 amountOfOverlay);</div>
+<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;<span class="keywordtype">void</span> nblend( <a class="code" href="struct_c_r_g_b.html">CRGB</a>* existing, <a class="code" href="struct_c_r_g_b.html">CRGB</a>* overlay, uint16_t count, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> amountOfOverlay);</div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;<span class="keywordtype">void</span> nblend( <a class="code" href="struct_c_h_s_v.html">CHSV</a>* existing, <a class="code" href="struct_c_h_s_v.html">CHSV</a>* overlay, uint16_t count, fract8 amountOfOverlay,</div>
+<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;<span class="keywordtype">void</span> nblend( <a class="code" href="struct_c_h_s_v.html">CHSV</a>* existing, <a class="code" href="struct_c_h_s_v.html">CHSV</a>* overlay, uint16_t count, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> amountOfOverlay,</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; TGradientDirectionCode directionCode = SHORTEST_HUES);</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;</div>
@@ -367,13 +367,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;<span class="comment">// calls to &#39;blur&#39; will also result in the light fading,</span></div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;<span class="comment">// eventually all the way to black; this is by design so that</span></div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;<span class="comment">// it can be used to (slowly) clear the LEDs to black.</span></div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;<span class="keywordtype">void</span> blur1d( <a class="code" href="struct_c_r_g_b.html">CRGB</a>* leds, uint16_t numLeds, fract8 blur_amount);</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;<span class="keywordtype">void</span> blur2d( <a class="code" href="struct_c_r_g_b.html">CRGB</a>* leds, uint8_t width, uint8_t height, fract8 blur_amount);</div>
+<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;<span class="keywordtype">void</span> blur1d( <a class="code" href="struct_c_r_g_b.html">CRGB</a>* leds, uint16_t numLeds, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> blur_amount);</div>
+<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;<span class="keywordtype">void</span> blur2d( <a class="code" href="struct_c_r_g_b.html">CRGB</a>* leds, uint8_t width, uint8_t height, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> blur_amount);</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">// blurRows: perform a blur1d on every row of a rectangular matrix</span></div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;<span class="keywordtype">void</span> blurRows( <a class="code" href="struct_c_r_g_b.html">CRGB</a>* leds, uint8_t width, uint8_t height, fract8 blur_amount);</div>
+<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;<span class="keywordtype">void</span> blurRows( <a class="code" href="struct_c_r_g_b.html">CRGB</a>* leds, uint8_t width, uint8_t height, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> blur_amount);</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;<span class="comment">// blurColumns: perform a blur1d on each column of a rectangular matrix</span></div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;<span class="keywordtype">void</span> blurColumns(<a class="code" href="struct_c_r_g_b.html">CRGB</a>* leds, uint8_t width, uint8_t height, fract8 blur_amount);</div>
+<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;<span class="keywordtype">void</span> blurColumns(<a class="code" href="struct_c_r_g_b.html">CRGB</a>* leds, uint8_t width, uint8_t height, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> blur_amount);</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;</div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;<span class="comment">// CRGB HeatColor( uint8_t temperature)</span></div>
@@ -1216,8 +1216,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160;</div>
<div class="line"><a name="l01162"></a><span class="lineno"> 1162</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:83</div></div>
+<div class="ttc" id="group__lib8tion_html_ga397f872082dbd788e04e8c6e443e563a"><div class="ttname"><a href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a">accum88</a></div><div class="ttdeci">uint16_t accum88</div><div class="ttdoc">ANSI: unsigned short _Accum. 8 bits int, 8 bits fraction. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:343</div></div>
<div class="ttc" id="class_c_h_s_v_palette256_html"><div class="ttname"><a href="class_c_h_s_v_palette256.html">CHSVPalette256</a></div><div class="ttdef"><b>Definition:</b> colorutils.h:508</div></div>
<div class="ttc" id="class_c_r_g_b_palette16_html"><div class="ttname"><a href="class_c_r_g_b_palette16.html">CRGBPalette16</a></div><div class="ttdef"><b>Definition:</b> colorutils.h:595</div></div>
+<div class="ttc" id="group__lib8tion_html_ga5d6d013429a5b8a09d564d6137217644"><div class="ttname"><a href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a></div><div class="ttdeci">uint8_t fract8</div><div class="ttdoc">ANSI unsigned short _Fract. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:324</div></div>
<div class="ttc" id="group___colorutils_html_gafcc7dac88e25736ebc49a9faf2a1c2e2"><div class="ttname"><a href="group___colorutils.html#gafcc7dac88e25736ebc49a9faf2a1c2e2">fill_rainbow</a></div><div class="ttdeci">void fill_rainbow(struct CRGB *pFirstLED, int numToFill, uint8_t initialhue, uint8_t deltahue=5)</div><div class="ttdoc">fill_rainbow - fill a range of LEDs with a rainbow of colors, at full saturation and full value (brig...</div><div class="ttdef"><b>Definition:</b> colorutils.cpp:35</div></div>
<div class="ttc" id="group___colorutils_html_ga3144bb2bb66aeed33e20f4fdd6cc1a98"><div class="ttname"><a href="group___colorutils.html#ga3144bb2bb66aeed33e20f4fdd6cc1a98">fill_gradient</a></div><div class="ttdeci">void fill_gradient(T *targetArray, uint16_t startpos, CHSV startcolor, uint16_t endpos, CHSV endcolor, TGradientDirectionCode directionCode=SHORTEST_HUES)</div><div class="ttdoc">fill_gradient - fill an array of colors with a smooth HSV gradient between two specified HSV colors...</div><div class="ttdef"><b>Definition:</b> colorutils.h:89</div></div>
<div class="ttc" id="class_c_h_s_v_palette16_html"><div class="ttname"><a href="class_c_h_s_v_palette16.html">CHSVPalette16</a></div><div class="ttdef"><b>Definition:</b> colorutils.h:421</div></div>
@@ -1229,7 +1231,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/controller_8h_source.html b/docs/3.1/controller_8h_source.html
index 80ab93c7..fb4ee5ed 100644
--- a/docs/3.1/controller_8h_source.html
+++ b/docs/3.1/controller_8h_source.html
@@ -658,7 +658,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/dir_fbb9e787cf27434374136273d35a9c17.html b/docs/3.1/dir_fbb9e787cf27434374136273d35a9c17.html
index 5ff998c2..8ba7b1a7 100644
--- a/docs/3.1/dir_fbb9e787cf27434374136273d35a9c17.html
+++ b/docs/3.1/dir_fbb9e787cf27434374136273d35a9c17.html
@@ -107,7 +107,7 @@ Files</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/dmx_8h_source.html b/docs/3.1/dmx_8h_source.html
index 7a159e0f..a21c8978 100644
--- a/docs/3.1/dmx_8h_source.html
+++ b/docs/3.1/dmx_8h_source.html
@@ -212,7 +212,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/fastled__config_8h_source.html b/docs/3.1/fastled__config_8h_source.html
index da03e6dc..bcd15b77 100644
--- a/docs/3.1/fastled__config_8h_source.html
+++ b/docs/3.1/fastled__config_8h_source.html
@@ -109,7 +109,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/fastled__delay_8h_source.html b/docs/3.1/fastled__delay_8h_source.html
index b9e2a6d7..5ea3b266 100644
--- a/docs/3.1/fastled__delay_8h_source.html
+++ b/docs/3.1/fastled__delay_8h_source.html
@@ -206,7 +206,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/fastled__progmem_8h_source.html b/docs/3.1/fastled__progmem_8h_source.html
index dfdaf67c..eb4afca1 100644
--- a/docs/3.1/fastled__progmem_8h_source.html
+++ b/docs/3.1/fastled__progmem_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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/fastpin_8h_source.html b/docs/3.1/fastpin_8h_source.html
index bdba716c..579917b4 100644
--- a/docs/3.1/fastpin_8h_source.html
+++ b/docs/3.1/fastpin_8h_source.html
@@ -280,7 +280,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/fastspi_8h_source.html b/docs/3.1/fastspi_8h_source.html
index 8d815c44..317618ee 100644
--- a/docs/3.1/fastspi_8h_source.html
+++ b/docs/3.1/fastspi_8h_source.html
@@ -204,7 +204,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/fastspi__bitbang_8h_source.html b/docs/3.1/fastspi__bitbang_8h_source.html
index 2d2a089b..ae17175d 100644
--- a/docs/3.1/fastspi__bitbang_8h_source.html
+++ b/docs/3.1/fastspi__bitbang_8h_source.html
@@ -446,7 +446,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/fastspi__dma_8h_source.html b/docs/3.1/fastspi__dma_8h_source.html
index 4ca023a7..3736f961 100644
--- a/docs/3.1/fastspi__dma_8h_source.html
+++ b/docs/3.1/fastspi__dma_8h_source.html
@@ -90,7 +90,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/fastspi__nop_8h_source.html b/docs/3.1/fastspi__nop_8h_source.html
index c3d77b4b..b139e8cd 100644
--- a/docs/3.1/fastspi__nop_8h_source.html
+++ b/docs/3.1/fastspi__nop_8h_source.html
@@ -150,7 +150,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/fastspi__ref_8h_source.html b/docs/3.1/fastspi__ref_8h_source.html
index d43a25d4..ba384515 100644
--- a/docs/3.1/fastspi__ref_8h_source.html
+++ b/docs/3.1/fastspi__ref_8h_source.html
@@ -195,7 +195,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/fastspi__types_8h_source.html b/docs/3.1/fastspi__types_8h_source.html
index 9d9930b9..84ba27e8 100644
--- a/docs/3.1/fastspi__types_8h_source.html
+++ b/docs/3.1/fastspi__types_8h_source.html
@@ -127,7 +127,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/files.html b/docs/3.1/files.html
index 0cfed9c7..f68e122d 100644
--- a/docs/3.1/files.html
+++ b/docs/3.1/files.html
@@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/functions.html b/docs/3.1/functions.html
index a47e28a9..6db15e2c 100644
--- a/docs/3.1/functions.html
+++ b/docs/3.1/functions.html
@@ -301,7 +301,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/functions_func.html b/docs/3.1/functions_func.html
index 00d80704..25358d0c 100644
--- a/docs/3.1/functions_func.html
+++ b/docs/3.1/functions_func.html
@@ -301,7 +301,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/globals.html b/docs/3.1/globals.html
index 01db7934..ac5a69ef 100644
--- a/docs/3.1/globals.html
+++ b/docs/3.1/globals.html
@@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/globals_func.html b/docs/3.1/globals_func.html
index b9df263c..885d3d68 100644
--- a/docs/3.1/globals_func.html
+++ b/docs/3.1/globals_func.html
@@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/graph_legend.html b/docs/3.1/graph_legend.html
index bf754158..7858348f 100644
--- a/docs/3.1/graph_legend.html
+++ b/docs/3.1/graph_legend.html
@@ -147,7 +147,7 @@ A yellow dashed arrow denotes a relation between a template instance and the tem
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/group___bitswap.html b/docs/3.1/group___bitswap.html
index 153ec3ec..9b3e402a 100644
--- a/docs/3.1/group___bitswap.html
+++ b/docs/3.1/group___bitswap.html
@@ -112,7 +112,7 @@ Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/group___color_enums.html b/docs/3.1/group___color_enums.html
index 37d33d87..5a253454 100644
--- a/docs/3.1/group___color_enums.html
+++ b/docs/3.1/group___color_enums.html
@@ -198,7 +198,7 @@ Enumerations</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/group___colorpalletes.html b/docs/3.1/group___colorpalletes.html
index 6a7b88ca..9fc795fc 100644
--- a/docs/3.1/group___colorpalletes.html
+++ b/docs/3.1/group___colorpalletes.html
@@ -177,7 +177,7 @@ Variables</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/group___colorutils.html b/docs/3.1/group___colorutils.html
index 7e8c8786..e2b99964 100644
--- a/docs/3.1/group___colorutils.html
+++ b/docs/3.1/group___colorutils.html
@@ -211,40 +211,40 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>nscale8</b> (<a class
void&#160;</td><td class="memItemRight" valign="bottom"><b>fadeUsingColor</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> *leds, uint16_t numLeds, const <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;colormask)</td></tr>
<tr class="separator:gae8c0a05b75034b4a2cae20ddc70ec15f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f06b4423f71f77346aaf5dabe7dd05c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4f06b4423f71f77346aaf5dabe7dd05c"></a>
-<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>blend</b> (const <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;p1, const <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;p2, fract8 amountOfP2)</td></tr>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>blend</b> (const <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;p1, const <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;p2, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> amountOfP2)</td></tr>
<tr class="separator:ga4f06b4423f71f77346aaf5dabe7dd05c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d242048cc8978be5ea70a6c33402721"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0d242048cc8978be5ea70a6c33402721"></a>
-<a class="el" href="struct_c_h_s_v.html">CHSV</a>&#160;</td><td class="memItemRight" valign="bottom"><b>blend</b> (const <a class="el" href="struct_c_h_s_v.html">CHSV</a> &amp;p1, const <a class="el" href="struct_c_h_s_v.html">CHSV</a> &amp;p2, fract8 amountOfP2, TGradientDirectionCode directionCode=SHORTEST_HUES)</td></tr>
+<a class="el" href="struct_c_h_s_v.html">CHSV</a>&#160;</td><td class="memItemRight" valign="bottom"><b>blend</b> (const <a class="el" href="struct_c_h_s_v.html">CHSV</a> &amp;p1, const <a class="el" href="struct_c_h_s_v.html">CHSV</a> &amp;p2, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> amountOfP2, TGradientDirectionCode directionCode=SHORTEST_HUES)</td></tr>
<tr class="separator:ga0d242048cc8978be5ea70a6c33402721"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabea64e23b31132c325ea0c1fef0d3f13"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabea64e23b31132c325ea0c1fef0d3f13"></a>
-<a class="el" href="struct_c_r_g_b.html">CRGB</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>blend</b> (const <a class="el" href="struct_c_r_g_b.html">CRGB</a> *src1, const <a class="el" href="struct_c_r_g_b.html">CRGB</a> *src2, <a class="el" href="struct_c_r_g_b.html">CRGB</a> *dest, uint16_t count, fract8 amountOfsrc2)</td></tr>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>blend</b> (const <a class="el" href="struct_c_r_g_b.html">CRGB</a> *src1, const <a class="el" href="struct_c_r_g_b.html">CRGB</a> *src2, <a class="el" href="struct_c_r_g_b.html">CRGB</a> *dest, uint16_t count, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> amountOfsrc2)</td></tr>
<tr class="separator:gabea64e23b31132c325ea0c1fef0d3f13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b2bd0aead5cac9ed7a51f7da845bdaa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2b2bd0aead5cac9ed7a51f7da845bdaa"></a>
-<a class="el" href="struct_c_h_s_v.html">CHSV</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>blend</b> (const <a class="el" href="struct_c_h_s_v.html">CHSV</a> *src1, const <a class="el" href="struct_c_h_s_v.html">CHSV</a> *src2, <a class="el" href="struct_c_h_s_v.html">CHSV</a> *dest, uint16_t count, fract8 amountOfsrc2, TGradientDirectionCode directionCode=SHORTEST_HUES)</td></tr>
+<a class="el" href="struct_c_h_s_v.html">CHSV</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>blend</b> (const <a class="el" href="struct_c_h_s_v.html">CHSV</a> *src1, const <a class="el" href="struct_c_h_s_v.html">CHSV</a> *src2, <a class="el" href="struct_c_h_s_v.html">CHSV</a> *dest, uint16_t count, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> amountOfsrc2, TGradientDirectionCode directionCode=SHORTEST_HUES)</td></tr>
<tr class="separator:ga2b2bd0aead5cac9ed7a51f7da845bdaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ddce40dda09fb46db19c55368baf335"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9ddce40dda09fb46db19c55368baf335"></a>
-<a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>nblend</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;existing, const <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;overlay, fract8 amountOfOverlay)</td></tr>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>nblend</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;existing, const <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;overlay, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> amountOfOverlay)</td></tr>
<tr class="separator:ga9ddce40dda09fb46db19c55368baf335"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad6e2224119d7df0c7f6fffd6b603bb27"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad6e2224119d7df0c7f6fffd6b603bb27"></a>
-<a class="el" href="struct_c_h_s_v.html">CHSV</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>nblend</b> (<a class="el" href="struct_c_h_s_v.html">CHSV</a> &amp;existing, const <a class="el" href="struct_c_h_s_v.html">CHSV</a> &amp;overlay, fract8 amountOfOverlay, TGradientDirectionCode directionCode=SHORTEST_HUES)</td></tr>
+<a class="el" href="struct_c_h_s_v.html">CHSV</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>nblend</b> (<a class="el" href="struct_c_h_s_v.html">CHSV</a> &amp;existing, const <a class="el" href="struct_c_h_s_v.html">CHSV</a> &amp;overlay, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> amountOfOverlay, TGradientDirectionCode directionCode=SHORTEST_HUES)</td></tr>
<tr class="separator:gad6e2224119d7df0c7f6fffd6b603bb27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga63e89e8505c65e973218d1638dda3b04"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga63e89e8505c65e973218d1638dda3b04"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>nblend</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> *existing, <a class="el" href="struct_c_r_g_b.html">CRGB</a> *overlay, uint16_t count, fract8 amountOfOverlay)</td></tr>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>nblend</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> *existing, <a class="el" href="struct_c_r_g_b.html">CRGB</a> *overlay, uint16_t count, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> amountOfOverlay)</td></tr>
<tr class="separator:ga63e89e8505c65e973218d1638dda3b04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6d07fb779bbeddd59a9025cdc64594d6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6d07fb779bbeddd59a9025cdc64594d6"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>nblend</b> (<a class="el" href="struct_c_h_s_v.html">CHSV</a> *existing, <a class="el" href="struct_c_h_s_v.html">CHSV</a> *overlay, uint16_t count, fract8 amountOfOverlay, TGradientDirectionCode directionCode=SHORTEST_HUES)</td></tr>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>nblend</b> (<a class="el" href="struct_c_h_s_v.html">CHSV</a> *existing, <a class="el" href="struct_c_h_s_v.html">CHSV</a> *overlay, uint16_t count, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> amountOfOverlay, TGradientDirectionCode directionCode=SHORTEST_HUES)</td></tr>
<tr class="separator:ga6d07fb779bbeddd59a9025cdc64594d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaacf0416f9e0438f23f92d0df6c338ea3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaacf0416f9e0438f23f92d0df6c338ea3"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>blur1d</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> *leds, uint16_t numLeds, fract8 blur_amount)</td></tr>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>blur1d</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> *leds, uint16_t numLeds, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> blur_amount)</td></tr>
<tr class="separator:gaacf0416f9e0438f23f92d0df6c338ea3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae97f9574ca4fa1a7ab65782b2a804fba"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae97f9574ca4fa1a7ab65782b2a804fba"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>blur2d</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> *leds, uint8_t width, uint8_t height, fract8 blur_amount)</td></tr>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>blur2d</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> *leds, uint8_t width, uint8_t height, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> blur_amount)</td></tr>
<tr class="separator:gae97f9574ca4fa1a7ab65782b2a804fba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3dbf22d8f71f7a0b54bbfaaf1ef7b44b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3dbf22d8f71f7a0b54bbfaaf1ef7b44b"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>blurRows</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> *leds, uint8_t width, uint8_t height, fract8 blur_amount)</td></tr>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>blurRows</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> *leds, uint8_t width, uint8_t height, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> blur_amount)</td></tr>
<tr class="separator:ga3dbf22d8f71f7a0b54bbfaaf1ef7b44b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacb40363ff285a5d816a1cf3096e27c14"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacb40363ff285a5d816a1cf3096e27c14"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>blurColumns</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> *leds, uint8_t width, uint8_t height, fract8 blur_amount)</td></tr>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>blurColumns</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> *leds, uint8_t width, uint8_t height, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> blur_amount)</td></tr>
<tr class="separator:gacb40363ff285a5d816a1cf3096e27c14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac5c6b83ec07d310385a430f9f0336530"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac5c6b83ec07d310385a430f9f0336530"></a>
<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>HeatColor</b> (uint8_t temperature)</td></tr>
@@ -366,7 +366,7 @@ template&lt;typename T &gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/group___dimming.html b/docs/3.1/group___dimming.html
index ab152528..5cfbef34 100644
--- a/docs/3.1/group___dimming.html
+++ b/docs/3.1/group___dimming.html
@@ -121,7 +121,7 @@ LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/group___math.html b/docs/3.1/group___math.html
index 2dd5733a..020bad3c 100644
--- a/docs/3.1/group___math.html
+++ b/docs/3.1/group___math.html
@@ -418,7 +418,7 @@ LIB8STATIC int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="e
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/group___noise.html b/docs/3.1/group___noise.html
index 99310942..aef788c1 100644
--- a/docs/3.1/group___noise.html
+++ b/docs/3.1/group___noise.html
@@ -172,10 +172,10 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>fill_raw_2dnoise8</b>
void&#160;</td><td class="memItemRight" valign="bottom"><b>fill_raw_2dnoise16into8</b> (uint8_t *pData, int width, int height, uint8_t octaves, uint32_t x, int scalex, uint32_t y, int scaley, uint32_t time)</td></tr>
<tr class="separator:ga46bde35765a7eddbd1049fe49429e94e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2a41b0b6fc438305e9fc35307fcd641d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2a41b0b6fc438305e9fc35307fcd641d"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>fill_raw_2dnoise16</b> (uint16_t *pData, int width, int height, uint8_t octaves, <a class="el" href="classq.html">q88</a> freq88, fract16 amplitude, int skip, uint32_t x, int scalex, uint32_t y, int scaley, uint32_t time)</td></tr>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>fill_raw_2dnoise16</b> (uint16_t *pData, int width, int height, uint8_t octaves, <a class="el" href="group__lib8tion.html#gad5dca0e1248b916799dde6dc44ef369b">q88</a> freq88, <a class="el" href="group__lib8tion.html#gaaf46b9f719ef3bdb574f8e967af6dbb5">fract16</a> amplitude, int skip, uint32_t x, int scalex, uint32_t y, int scaley, uint32_t time)</td></tr>
<tr class="separator:ga2a41b0b6fc438305e9fc35307fcd641d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7731d44b05067579cf4861f0a449f257"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7731d44b05067579cf4861f0a449f257"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>fill_raw_2dnoise16into8</b> (uint8_t *pData, int width, int height, uint8_t octaves, <a class="el" href="classq.html">q44</a> freq44, fract8 amplitude, int skip, uint32_t x, int scalex, uint32_t y, int scaley, uint32_t time)</td></tr>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>fill_raw_2dnoise16into8</b> (uint8_t *pData, int width, int height, uint8_t octaves, <a class="el" href="group__lib8tion.html#ga85082c3ed8843d32076222e82d72f80d">q44</a> freq44, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> amplitude, int skip, uint32_t x, int scalex, uint32_t y, int scaley, uint32_t time)</td></tr>
<tr class="separator:ga7731d44b05067579cf4861f0a449f257"><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>
@@ -237,7 +237,7 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>fill_2dnoise16</b> (<
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/group___random.html b/docs/3.1/group___random.html
index cd9f3aa0..7ecb529c 100644
--- a/docs/3.1/group___random.html
+++ b/docs/3.1/group___random.html
@@ -263,7 +263,7 @@ uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/group___scaling.html b/docs/3.1/group___scaling.html
index 4817229c..3f35e49d 100644
--- a/docs/3.1/group___scaling.html
+++ b/docs/3.1/group___scaling.html
@@ -98,44 +98,44 @@ Collaboration diagram for Scaling functions:</div>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga6c160f8c36ce9b3c5eda68e4992010af"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6c160f8c36ce9b3c5eda68e4992010af"></a>
-LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#ga6c160f8c36ce9b3c5eda68e4992010af">scale8</a> (uint8_t i, fract8 scale)</td></tr>
+LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#ga6c160f8c36ce9b3c5eda68e4992010af">scale8</a> (uint8_t i, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> scale)</td></tr>
<tr class="memdesc:ga6c160f8c36ce9b3c5eda68e4992010af"><td class="mdescLeft">&#160;</td><td class="mdescRight">scale one byte by a second one, which is treated as the numerator of a fraction whose denominator is 256 In other words, it computes i * (scale / 256) 4 clocks AVR with MUL, 2 clocks ARM <br /></td></tr>
<tr class="separator:ga6c160f8c36ce9b3c5eda68e4992010af"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga333095ffa436c94d3e77ee9dc39da1c1"><td class="memItemLeft" align="right" valign="top">LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#ga333095ffa436c94d3e77ee9dc39da1c1">scale8_video</a> (uint8_t i, fract8 scale)</td></tr>
+<tr class="memitem:ga333095ffa436c94d3e77ee9dc39da1c1"><td class="memItemLeft" align="right" valign="top">LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#ga333095ffa436c94d3e77ee9dc39da1c1">scale8_video</a> (uint8_t i, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> scale)</td></tr>
<tr class="memdesc:ga333095ffa436c94d3e77ee9dc39da1c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">The "video" version of scale8 guarantees that the output will be only be zero if one or both of the inputs are zero. <a href="#ga333095ffa436c94d3e77ee9dc39da1c1">More...</a><br /></td></tr>
<tr class="separator:ga333095ffa436c94d3e77ee9dc39da1c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga39579fcf09743f15545fe0b831ca313c"><td class="memItemLeft" align="right" valign="top">LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#ga39579fcf09743f15545fe0b831ca313c">scale8_LEAVING_R1_DIRTY</a> (uint8_t i, fract8 scale)</td></tr>
+<tr class="memitem:ga39579fcf09743f15545fe0b831ca313c"><td class="memItemLeft" align="right" valign="top">LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#ga39579fcf09743f15545fe0b831ca313c">scale8_LEAVING_R1_DIRTY</a> (uint8_t i, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> scale)</td></tr>
<tr class="memdesc:ga39579fcf09743f15545fe0b831ca313c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This version of scale8 does not clean up the R1 register on AVR If you are doing several 'scale8's in a row, use this, and then explicitly call cleanup_R1. <a href="#ga39579fcf09743f15545fe0b831ca313c">More...</a><br /></td></tr>
<tr class="separator:ga39579fcf09743f15545fe0b831ca313c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5f6dde3d9398f4b389c96e759a3f7b80"><td class="memItemLeft" align="right" valign="top">LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#ga5f6dde3d9398f4b389c96e759a3f7b80">nscale8_LEAVING_R1_DIRTY</a> (uint8_t &amp;i, fract8 scale)</td></tr>
+<tr class="memitem:ga5f6dde3d9398f4b389c96e759a3f7b80"><td class="memItemLeft" align="right" valign="top">LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#ga5f6dde3d9398f4b389c96e759a3f7b80">nscale8_LEAVING_R1_DIRTY</a> (uint8_t &amp;i, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> scale)</td></tr>
<tr class="memdesc:ga5f6dde3d9398f4b389c96e759a3f7b80"><td class="mdescLeft">&#160;</td><td class="mdescRight">In place modifying version of scale8, also this version of nscale8 does not clean up the R1 register on AVR If you are doing several 'scale8's in a row, use this, and then explicitly call cleanup_R1. <a href="#ga5f6dde3d9398f4b389c96e759a3f7b80">More...</a><br /></td></tr>
<tr class="separator:ga5f6dde3d9398f4b389c96e759a3f7b80"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab341cef8d46232269bb70092fed9eb75"><td class="memItemLeft" align="right" valign="top">LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#gab341cef8d46232269bb70092fed9eb75">scale8_video_LEAVING_R1_DIRTY</a> (uint8_t i, fract8 scale)</td></tr>
+<tr class="memitem:gab341cef8d46232269bb70092fed9eb75"><td class="memItemLeft" align="right" valign="top">LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#gab341cef8d46232269bb70092fed9eb75">scale8_video_LEAVING_R1_DIRTY</a> (uint8_t i, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> scale)</td></tr>
<tr class="memdesc:gab341cef8d46232269bb70092fed9eb75"><td class="mdescLeft">&#160;</td><td class="mdescRight">This version of scale8_video does not clean up the R1 register on AVR If you are doing several 'scale8_video's in a row, use this, and then explicitly call cleanup_R1. <a href="#gab341cef8d46232269bb70092fed9eb75">More...</a><br /></td></tr>
<tr class="separator:gab341cef8d46232269bb70092fed9eb75"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2a580fcaa010558218faae95d1936635"><td class="memItemLeft" align="right" valign="top">LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#ga2a580fcaa010558218faae95d1936635">nscale8_video_LEAVING_R1_DIRTY</a> (uint8_t &amp;i, fract8 scale)</td></tr>
+<tr class="memitem:ga2a580fcaa010558218faae95d1936635"><td class="memItemLeft" align="right" valign="top">LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#ga2a580fcaa010558218faae95d1936635">nscale8_video_LEAVING_R1_DIRTY</a> (uint8_t &amp;i, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> scale)</td></tr>
<tr class="memdesc:ga2a580fcaa010558218faae95d1936635"><td class="mdescLeft">&#160;</td><td class="mdescRight">In place modifying version of scale8_video, also this version of nscale8_video does not clean up the R1 register on AVR If you are doing several 'scale8_video's in a row, use this, and then explicitly call cleanup_R1. <a href="#ga2a580fcaa010558218faae95d1936635">More...</a><br /></td></tr>
<tr class="separator:ga2a580fcaa010558218faae95d1936635"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga572d0b441676c9d8ceb071fe8284b7e9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga572d0b441676c9d8ceb071fe8284b7e9"></a>
LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#ga572d0b441676c9d8ceb071fe8284b7e9">cleanup_R1</a> ()</td></tr>
<tr class="memdesc:ga572d0b441676c9d8ceb071fe8284b7e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clean up the r1 register after a series of *LEAVING_R1_DIRTY calls. <br /></td></tr>
<tr class="separator:ga572d0b441676c9d8ceb071fe8284b7e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga39bf87e5526120889086cab19ac749b1"><td class="memItemLeft" align="right" valign="top">LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#ga39bf87e5526120889086cab19ac749b1">nscale8x3</a> (uint8_t &amp;r, uint8_t &amp;g, uint8_t &amp;b, fract8 scale)</td></tr>
+<tr class="memitem:ga39bf87e5526120889086cab19ac749b1"><td class="memItemLeft" align="right" valign="top">LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#ga39bf87e5526120889086cab19ac749b1">nscale8x3</a> (uint8_t &amp;r, uint8_t &amp;g, uint8_t &amp;b, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> scale)</td></tr>
<tr class="memdesc:ga39bf87e5526120889086cab19ac749b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">scale three one byte values by a fourth one, which is treated as the numerator of a fraction whose demominator is 256 In other words, it computes r,g,b * (scale / 256) <a href="#ga39bf87e5526120889086cab19ac749b1">More...</a><br /></td></tr>
<tr class="separator:ga39bf87e5526120889086cab19ac749b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga700b7f510f32e8c91385093c436c27d9"><td class="memItemLeft" align="right" valign="top">LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#ga700b7f510f32e8c91385093c436c27d9">nscale8x3_video</a> (uint8_t &amp;r, uint8_t &amp;g, uint8_t &amp;b, fract8 scale)</td></tr>
+<tr class="memitem:ga700b7f510f32e8c91385093c436c27d9"><td class="memItemLeft" align="right" valign="top">LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#ga700b7f510f32e8c91385093c436c27d9">nscale8x3_video</a> (uint8_t &amp;r, uint8_t &amp;g, uint8_t &amp;b, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> scale)</td></tr>
<tr class="memdesc:ga700b7f510f32e8c91385093c436c27d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">scale three one byte values by a fourth one, which is treated as the numerator of a fraction whose demominator is 256 In other words, it computes r,g,b * (scale / 256), ensuring that non-zero values passed in remain non zero, no matter how low the scale argument. <a href="#ga700b7f510f32e8c91385093c436c27d9">More...</a><br /></td></tr>
<tr class="separator:ga700b7f510f32e8c91385093c436c27d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6f419761a744efed4bae8875ac07aef0"><td class="memItemLeft" align="right" valign="top">LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#ga6f419761a744efed4bae8875ac07aef0">nscale8x2</a> (uint8_t &amp;i, uint8_t &amp;j, fract8 scale)</td></tr>
+<tr class="memitem:ga6f419761a744efed4bae8875ac07aef0"><td class="memItemLeft" align="right" valign="top">LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#ga6f419761a744efed4bae8875ac07aef0">nscale8x2</a> (uint8_t &amp;i, uint8_t &amp;j, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> scale)</td></tr>
<tr class="memdesc:ga6f419761a744efed4bae8875ac07aef0"><td class="mdescLeft">&#160;</td><td class="mdescRight">scale two one byte values by a third one, which is treated as the numerator of a fraction whose demominator is 256 In other words, it computes i,j * (scale / 256) <a href="#ga6f419761a744efed4bae8875ac07aef0">More...</a><br /></td></tr>
<tr class="separator:ga6f419761a744efed4bae8875ac07aef0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4204edd4a3f8aac7124a10f1f5cfccfe"><td class="memItemLeft" align="right" valign="top">LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#ga4204edd4a3f8aac7124a10f1f5cfccfe">nscale8x2_video</a> (uint8_t &amp;i, uint8_t &amp;j, fract8 scale)</td></tr>
+<tr class="memitem:ga4204edd4a3f8aac7124a10f1f5cfccfe"><td class="memItemLeft" align="right" valign="top">LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#ga4204edd4a3f8aac7124a10f1f5cfccfe">nscale8x2_video</a> (uint8_t &amp;i, uint8_t &amp;j, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> scale)</td></tr>
<tr class="memdesc:ga4204edd4a3f8aac7124a10f1f5cfccfe"><td class="mdescLeft">&#160;</td><td class="mdescRight">scale two one byte values by a third one, which is treated as the numerator of a fraction whose demominator is 256 In other words, it computes i,j * (scale / 256), ensuring that non-zero values passed in remain non zero, no matter how low the scale argument. <a href="#ga4204edd4a3f8aac7124a10f1f5cfccfe">More...</a><br /></td></tr>
<tr class="separator:ga4204edd4a3f8aac7124a10f1f5cfccfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf34fde0746c9c2e5ed44f9c437a2267e"><td class="memItemLeft" align="right" valign="top">LIB8STATIC uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#gaf34fde0746c9c2e5ed44f9c437a2267e">scale16by8</a> (uint16_t i, fract8 scale)</td></tr>
+<tr class="memitem:gaf34fde0746c9c2e5ed44f9c437a2267e"><td class="memItemLeft" align="right" valign="top">LIB8STATIC uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#gaf34fde0746c9c2e5ed44f9c437a2267e">scale16by8</a> (uint16_t i, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> scale)</td></tr>
<tr class="memdesc:gaf34fde0746c9c2e5ed44f9c437a2267e"><td class="mdescLeft">&#160;</td><td class="mdescRight">scale a 16-bit unsigned value by an 8-bit value, considered as numerator of a fraction whose denominator is 256. <a href="#gaf34fde0746c9c2e5ed44f9c437a2267e">More...</a><br /></td></tr>
<tr class="separator:gaf34fde0746c9c2e5ed44f9c437a2267e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1ff8ac00ad78e22acc7bb7445bfdb145"><td class="memItemLeft" align="right" valign="top">LIB8STATIC uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#ga1ff8ac00ad78e22acc7bb7445bfdb145">scale16</a> (uint16_t i, fract16 scale)</td></tr>
+<tr class="memitem:ga1ff8ac00ad78e22acc7bb7445bfdb145"><td class="memItemLeft" align="right" valign="top">LIB8STATIC uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___scaling.html#ga1ff8ac00ad78e22acc7bb7445bfdb145">scale16</a> (uint16_t i, <a class="el" href="group__lib8tion.html#gaaf46b9f719ef3bdb574f8e967af6dbb5">fract16</a> scale)</td></tr>
<tr class="memdesc:ga1ff8ac00ad78e22acc7bb7445bfdb145"><td class="mdescLeft">&#160;</td><td class="mdescRight">scale a 16-bit unsigned value by a 16-bit value, considered as numerator of a fraction whose denominator is 65536. <a href="#ga1ff8ac00ad78e22acc7bb7445bfdb145">More...</a><br /></td></tr>
<tr class="separator:ga1ff8ac00ad78e22acc7bb7445bfdb145"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
@@ -156,7 +156,7 @@ LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el"
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">fract8&#160;</td>
+ <td class="paramtype"><a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a>&#160;</td>
<td class="paramname"><em>scale</em>&#160;</td>
</tr>
<tr>
@@ -184,7 +184,7 @@ LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el"
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">fract8&#160;</td>
+ <td class="paramtype"><a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a>&#160;</td>
<td class="paramname"><em>scale</em>&#160;</td>
</tr>
<tr>
@@ -218,7 +218,7 @@ LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el"
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">fract8&#160;</td>
+ <td class="paramtype"><a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a>&#160;</td>
<td class="paramname"><em>scale</em>&#160;</td>
</tr>
<tr>
@@ -253,7 +253,7 @@ LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el"
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">fract8&#160;</td>
+ <td class="paramtype"><a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a>&#160;</td>
<td class="paramname"><em>scale</em>&#160;</td>
</tr>
<tr>
@@ -294,7 +294,7 @@ LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el"
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">fract8&#160;</td>
+ <td class="paramtype"><a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a>&#160;</td>
<td class="paramname"><em>scale</em>&#160;</td>
</tr>
<tr>
@@ -335,7 +335,7 @@ LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el"
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">fract8&#160;</td>
+ <td class="paramtype"><a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a>&#160;</td>
<td class="paramname"><em>scale</em>&#160;</td>
</tr>
<tr>
@@ -364,7 +364,7 @@ LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el"
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">fract16&#160;</td>
+ <td class="paramtype"><a class="el" href="group__lib8tion.html#gaaf46b9f719ef3bdb574f8e967af6dbb5">fract16</a>&#160;</td>
<td class="paramname"><em>scale</em>&#160;</td>
</tr>
<tr>
@@ -393,7 +393,7 @@ LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el"
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">fract8&#160;</td>
+ <td class="paramtype"><a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a>&#160;</td>
<td class="paramname"><em>scale</em>&#160;</td>
</tr>
<tr>
@@ -422,7 +422,7 @@ LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el"
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">fract8&#160;</td>
+ <td class="paramtype"><a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a>&#160;</td>
<td class="paramname"><em>scale</em>&#160;</td>
</tr>
<tr>
@@ -450,7 +450,7 @@ LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el"
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">fract8&#160;</td>
+ <td class="paramtype"><a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a>&#160;</td>
<td class="paramname"><em>scale</em>&#160;</td>
</tr>
<tr>
@@ -479,7 +479,7 @@ LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el"
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">fract8&#160;</td>
+ <td class="paramtype"><a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a>&#160;</td>
<td class="paramname"><em>scale</em>&#160;</td>
</tr>
<tr>
@@ -497,7 +497,7 @@ LIB8STATIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el"
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/group___trig.html b/docs/3.1/group___trig.html
index d641532a..3c47072b 100644
--- a/docs/3.1/group___trig.html
+++ b/docs/3.1/group___trig.html
@@ -287,7 +287,7 @@ const uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>b_m16_interl
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/group__lib8tion.html b/docs/3.1/group__lib8tion.html
index 1382d4fa..f59a6806 100644
--- a/docs/3.1/group__lib8tion.html
+++ b/docs/3.1/group__lib8tion.html
@@ -116,55 +116,67 @@ Modules</h2></td></tr>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="union_i_e_e_e754binary32__t.html">IEEE754binary32_t</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">typedef for IEEE754 "binary32" float type internals <a href="union_i_e_e_e754binary32__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classq.html">q&lt; T, F, I &gt;</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template class for represneting fractional ints. <a href="classq.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_every_n_time_periods.html">CEveryNTimePeriods&lt; timeType, timeGetter &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
-<tr class="memitem:ga5d6d013429a5b8a09d564d6137217644"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5d6d013429a5b8a09d564d6137217644"></a>
-typedef uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>fract8</b></td></tr>
+<tr class="memitem:ga5d6d013429a5b8a09d564d6137217644"><td class="memItemLeft" align="right" valign="top">typedef uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a></td></tr>
+<tr class="memdesc:ga5d6d013429a5b8a09d564d6137217644"><td class="mdescLeft">&#160;</td><td class="mdescRight">ANSI unsigned short _Fract. <a href="#ga5d6d013429a5b8a09d564d6137217644">More...</a><br /></td></tr>
<tr class="separator:ga5d6d013429a5b8a09d564d6137217644"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7d6219a7247ab1923ed623e7ae0f34ae"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7d6219a7247ab1923ed623e7ae0f34ae"></a>
-typedef int8_t&#160;</td><td class="memItemRight" valign="bottom"><b>sfract7</b></td></tr>
+<tr class="memitem:ga7d6219a7247ab1923ed623e7ae0f34ae"><td class="memItemLeft" align="right" valign="top">typedef int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#ga7d6219a7247ab1923ed623e7ae0f34ae">sfract7</a></td></tr>
+<tr class="memdesc:ga7d6219a7247ab1923ed623e7ae0f34ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">ANSI: signed short _Fract. <a href="#ga7d6219a7247ab1923ed623e7ae0f34ae">More...</a><br /></td></tr>
<tr class="separator:ga7d6219a7247ab1923ed623e7ae0f34ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaaf46b9f719ef3bdb574f8e967af6dbb5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaaf46b9f719ef3bdb574f8e967af6dbb5"></a>
-typedef uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>fract16</b></td></tr>
+<tr class="memitem:gaaf46b9f719ef3bdb574f8e967af6dbb5"><td class="memItemLeft" align="right" valign="top">typedef uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gaaf46b9f719ef3bdb574f8e967af6dbb5">fract16</a></td></tr>
+<tr class="memdesc:gaaf46b9f719ef3bdb574f8e967af6dbb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">ANSI: unsigned _Fract. <a href="#gaaf46b9f719ef3bdb574f8e967af6dbb5">More...</a><br /></td></tr>
<tr class="separator:gaaf46b9f719ef3bdb574f8e967af6dbb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga00cb5dc9e5b477a58669a3e40bc473c2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga00cb5dc9e5b477a58669a3e40bc473c2"></a>
-typedef int16_t&#160;</td><td class="memItemRight" valign="bottom"><b>sfract15</b></td></tr>
+<tr class="memitem:ga00cb5dc9e5b477a58669a3e40bc473c2"><td class="memItemLeft" align="right" valign="top">typedef int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#ga00cb5dc9e5b477a58669a3e40bc473c2">sfract15</a></td></tr>
+<tr class="memdesc:ga00cb5dc9e5b477a58669a3e40bc473c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">ANSI: signed _Fract. <a href="#ga00cb5dc9e5b477a58669a3e40bc473c2">More...</a><br /></td></tr>
<tr class="separator:ga00cb5dc9e5b477a58669a3e40bc473c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga397f872082dbd788e04e8c6e443e563a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga397f872082dbd788e04e8c6e443e563a"></a>
-typedef uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>accum88</b></td></tr>
+typedef uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a">accum88</a></td></tr>
+<tr class="memdesc:ga397f872082dbd788e04e8c6e443e563a"><td class="mdescLeft">&#160;</td><td class="mdescRight">ANSI: unsigned short _Accum. 8 bits int, 8 bits fraction. <br /></td></tr>
<tr class="separator:ga397f872082dbd788e04e8c6e443e563a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9585be88f27cab4c367399d8e91c8467"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9585be88f27cab4c367399d8e91c8467"></a>
-typedef int16_t&#160;</td><td class="memItemRight" valign="bottom"><b>saccum78</b></td></tr>
+typedef int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#ga9585be88f27cab4c367399d8e91c8467">saccum78</a></td></tr>
+<tr class="memdesc:ga9585be88f27cab4c367399d8e91c8467"><td class="mdescLeft">&#160;</td><td class="mdescRight">ANSI: signed short _Accum. 7 bits int, 8 bits fraction. <br /></td></tr>
<tr class="separator:ga9585be88f27cab4c367399d8e91c8467"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae3ac7def25ef5ddea2da1a3bc0c00f44"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae3ac7def25ef5ddea2da1a3bc0c00f44"></a>
-typedef uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>accum1616</b></td></tr>
+typedef uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gae3ac7def25ef5ddea2da1a3bc0c00f44">accum1616</a></td></tr>
+<tr class="memdesc:gae3ac7def25ef5ddea2da1a3bc0c00f44"><td class="mdescLeft">&#160;</td><td class="mdescRight">ANSI: signed _Accum. 16 bits int, 16 bits fraction. <br /></td></tr>
<tr class="separator:gae3ac7def25ef5ddea2da1a3bc0c00f44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad2dad84f67c8a4cc6d4c92e2c7d3e89f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad2dad84f67c8a4cc6d4c92e2c7d3e89f"></a>
-typedef int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>saccum1516</b></td></tr>
+typedef int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gad2dad84f67c8a4cc6d4c92e2c7d3e89f">saccum1516</a></td></tr>
+<tr class="memdesc:gad2dad84f67c8a4cc6d4c92e2c7d3e89f"><td class="mdescLeft">&#160;</td><td class="mdescRight">ANSI: signed _Accum. 15 bits int, 16 bits fraction. <br /></td></tr>
<tr class="separator:gad2dad84f67c8a4cc6d4c92e2c7d3e89f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7bcc9ebf20b0dd74d9999d5a630d443f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7bcc9ebf20b0dd74d9999d5a630d443f"></a>
-typedef uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>accum124</b></td></tr>
+typedef uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#ga7bcc9ebf20b0dd74d9999d5a630d443f">accum124</a></td></tr>
+<tr class="memdesc:ga7bcc9ebf20b0dd74d9999d5a630d443f"><td class="mdescLeft">&#160;</td><td class="mdescRight">no direct ANSI counterpart. 12 bits int, 4 bits fraction <br /></td></tr>
<tr class="separator:ga7bcc9ebf20b0dd74d9999d5a630d443f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga95e7a40d98aa0371e9adce9220d3a67c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga95e7a40d98aa0371e9adce9220d3a67c"></a>
-typedef int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>saccum114</b></td></tr>
+typedef int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#ga95e7a40d98aa0371e9adce9220d3a67c">saccum114</a></td></tr>
+<tr class="memdesc:ga95e7a40d98aa0371e9adce9220d3a67c"><td class="mdescLeft">&#160;</td><td class="mdescRight">no direct ANSI counterpart. 1 bit int, 14 bits fraction <br /></td></tr>
<tr class="separator:ga95e7a40d98aa0371e9adce9220d3a67c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga85082c3ed8843d32076222e82d72f80d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga85082c3ed8843d32076222e82d72f80d"></a>
-typedef <a class="el" href="classq.html">q</a>&lt; uint8_t, 4, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>q44</b></td></tr>
+typedef <a class="el" href="classq.html">q</a>&lt; uint8_t, 4, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#ga85082c3ed8843d32076222e82d72f80d">q44</a></td></tr>
+<tr class="memdesc:ga85082c3ed8843d32076222e82d72f80d"><td class="mdescLeft">&#160;</td><td class="mdescRight">A 4.4 integer (4 bits integer, 4 bits fraction) <br /></td></tr>
<tr class="separator:ga85082c3ed8843d32076222e82d72f80d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafea4166e233d92817eada7203021089a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafea4166e233d92817eada7203021089a"></a>
-typedef <a class="el" href="classq.html">q</a>&lt; uint8_t, 6, 2 &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>q62</b></td></tr>
+typedef <a class="el" href="classq.html">q</a>&lt; uint8_t, 6, 2 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gafea4166e233d92817eada7203021089a">q62</a></td></tr>
+<tr class="memdesc:gafea4166e233d92817eada7203021089a"><td class="mdescLeft">&#160;</td><td class="mdescRight">A 6.2 integer (6 bits integer, 2 bits fraction) <br /></td></tr>
<tr class="separator:gafea4166e233d92817eada7203021089a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad5dca0e1248b916799dde6dc44ef369b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad5dca0e1248b916799dde6dc44ef369b"></a>
-typedef <a class="el" href="classq.html">q</a>&lt; uint16_t, 8, 8 &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>q88</b></td></tr>
+typedef <a class="el" href="classq.html">q</a>&lt; uint16_t, 8, 8 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gad5dca0e1248b916799dde6dc44ef369b">q88</a></td></tr>
+<tr class="memdesc:gad5dca0e1248b916799dde6dc44ef369b"><td class="mdescLeft">&#160;</td><td class="mdescRight">A 8.8 integer (8 bits integer, 8 bits fraction) <br /></td></tr>
<tr class="separator:gad5dca0e1248b916799dde6dc44ef369b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0f02a1da674754f48c5f89c1610e118c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0f02a1da674754f48c5f89c1610e118c"></a>
-typedef <a class="el" href="classq.html">q</a>&lt; uint16_t, 12, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>q124</b></td></tr>
+typedef <a class="el" href="classq.html">q</a>&lt; uint16_t, 12, 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#ga0f02a1da674754f48c5f89c1610e118c">q124</a></td></tr>
+<tr class="memdesc:ga0f02a1da674754f48c5f89c1610e118c"><td class="mdescLeft">&#160;</td><td class="mdescRight">A 12.4 integer (12 bits integer, 4 bits fraction) <br /></td></tr>
<tr class="separator:ga0f02a1da674754f48c5f89c1610e118c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac973ea2f1107aac96ccc69dc272fbeda"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac973ea2f1107aac96ccc69dc272fbeda"></a>
typedef <a class="el" href="class_c_every_n_time_periods.html">CEveryNTimePeriods</a>&lt; uint16_t, <a class="el" href="group__lib8tion.html#gaa2abcee2fe76fafd7f3a2aeab03e3b69">seconds16</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>CEveryNSeconds</b></td></tr>
@@ -184,10 +196,10 @@ typedef <a class="el" href="class_c_every_n_time_periods.html">CEveryNTimePeriod
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
-<tr class="memitem:gab947c1150e3b9056cb91685a14270173"><td class="memItemLeft" align="right" valign="top">LIB8STATIC float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gab947c1150e3b9056cb91685a14270173">sfract15ToFloat</a> (sfract15 y)</td></tr>
+<tr class="memitem:gab947c1150e3b9056cb91685a14270173"><td class="memItemLeft" align="right" valign="top">LIB8STATIC float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gab947c1150e3b9056cb91685a14270173">sfract15ToFloat</a> (<a class="el" href="group__lib8tion.html#ga00cb5dc9e5b477a58669a3e40bc473c2">sfract15</a> y)</td></tr>
<tr class="memdesc:gab947c1150e3b9056cb91685a14270173"><td class="mdescLeft">&#160;</td><td class="mdescRight">sfract15ToFloat: conversion from sfract15 fixed point to IEEE754 32-bit float. <a href="#gab947c1150e3b9056cb91685a14270173">More...</a><br /></td></tr>
<tr class="separator:gab947c1150e3b9056cb91685a14270173"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa2facbc0ec935e34c629aef43d6262c0"><td class="memItemLeft" align="right" valign="top">LIB8STATIC sfract15&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gaa2facbc0ec935e34c629aef43d6262c0">floatToSfract15</a> (float f)</td></tr>
+<tr class="memitem:gaa2facbc0ec935e34c629aef43d6262c0"><td class="memItemLeft" align="right" valign="top">LIB8STATIC <a class="el" href="group__lib8tion.html#ga00cb5dc9e5b477a58669a3e40bc473c2">sfract15</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gaa2facbc0ec935e34c629aef43d6262c0">floatToSfract15</a> (float f)</td></tr>
<tr class="memdesc:gaa2facbc0ec935e34c629aef43d6262c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">conversion from IEEE754 float in the range (-1,1) to 16-bit fixed point. <a href="#gaa2facbc0ec935e34c629aef43d6262c0">More...</a><br /></td></tr>
<tr class="separator:gaa2facbc0ec935e34c629aef43d6262c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga061b2dedbda73b683f7d383543cb2603"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga061b2dedbda73b683f7d383543cb2603"></a>
@@ -200,23 +212,23 @@ void *&#160;</td><td class="memItemRight" valign="bottom"><b>memcpy8</b> (void *
void *&#160;</td><td class="memItemRight" valign="bottom"><b>memset8</b> (void *ptr, uint8_t value, uint16_t num) <a class="el" href="group___bitswap.html#ga01396a2e40133293c3badab349ac99f0">__attribute__</a>((noinline))</td></tr>
<tr class="separator:gac6e333b45df07459ed5b17224d814926"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga62ed4425400bc4140902347dc54ffb72"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga62ed4425400bc4140902347dc54ffb72"></a>
-LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#ga62ed4425400bc4140902347dc54ffb72">lerp8by8</a> (uint8_t a, uint8_t b, fract8 frac)</td></tr>
+LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#ga62ed4425400bc4140902347dc54ffb72">lerp8by8</a> (uint8_t a, uint8_t b, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> frac)</td></tr>
<tr class="memdesc:ga62ed4425400bc4140902347dc54ffb72"><td class="mdescLeft">&#160;</td><td class="mdescRight">linear interpolation between two unsigned 8-bit values, with 8-bit fraction <br /></td></tr>
<tr class="separator:ga62ed4425400bc4140902347dc54ffb72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7c02960d0f26e90054c7312e5f9a55b3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7c02960d0f26e90054c7312e5f9a55b3"></a>
-LIB8STATIC uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#ga7c02960d0f26e90054c7312e5f9a55b3">lerp16by16</a> (uint16_t a, uint16_t b, fract16 frac)</td></tr>
+LIB8STATIC uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#ga7c02960d0f26e90054c7312e5f9a55b3">lerp16by16</a> (uint16_t a, uint16_t b, <a class="el" href="group__lib8tion.html#gaaf46b9f719ef3bdb574f8e967af6dbb5">fract16</a> frac)</td></tr>
<tr class="memdesc:ga7c02960d0f26e90054c7312e5f9a55b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">linear interpolation between two unsigned 16-bit values, with 16-bit fraction <br /></td></tr>
<tr class="separator:ga7c02960d0f26e90054c7312e5f9a55b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8c8f06da86c5d7cf13f55c3a5bfdf251"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8c8f06da86c5d7cf13f55c3a5bfdf251"></a>
-LIB8STATIC uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#ga8c8f06da86c5d7cf13f55c3a5bfdf251">lerp16by8</a> (uint16_t a, uint16_t b, fract8 frac)</td></tr>
+LIB8STATIC uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#ga8c8f06da86c5d7cf13f55c3a5bfdf251">lerp16by8</a> (uint16_t a, uint16_t b, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> frac)</td></tr>
<tr class="memdesc:ga8c8f06da86c5d7cf13f55c3a5bfdf251"><td class="mdescLeft">&#160;</td><td class="mdescRight">linear interpolation between two unsigned 16-bit values, with 8-bit fraction <br /></td></tr>
<tr class="separator:ga8c8f06da86c5d7cf13f55c3a5bfdf251"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaacea0eaea98a065dfa08bb1c147c52a1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaacea0eaea98a065dfa08bb1c147c52a1"></a>
-LIB8STATIC int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gaacea0eaea98a065dfa08bb1c147c52a1">lerp15by8</a> (int16_t a, int16_t b, fract8 frac)</td></tr>
+LIB8STATIC int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gaacea0eaea98a065dfa08bb1c147c52a1">lerp15by8</a> (int16_t a, int16_t b, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> frac)</td></tr>
<tr class="memdesc:gaacea0eaea98a065dfa08bb1c147c52a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">linear interpolation between two signed 15-bit values, with 8-bit fraction <br /></td></tr>
<tr class="separator:gaacea0eaea98a065dfa08bb1c147c52a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad4b09aba4e188e14d3e71d1c9f77f1a5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad4b09aba4e188e14d3e71d1c9f77f1a5"></a>
-LIB8STATIC int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gad4b09aba4e188e14d3e71d1c9f77f1a5">lerp15by16</a> (int16_t a, int16_t b, fract16 frac)</td></tr>
+LIB8STATIC int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gad4b09aba4e188e14d3e71d1c9f77f1a5">lerp15by16</a> (int16_t a, int16_t b, <a class="el" href="group__lib8tion.html#gaaf46b9f719ef3bdb574f8e967af6dbb5">fract16</a> frac)</td></tr>
<tr class="memdesc:gad4b09aba4e188e14d3e71d1c9f77f1a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">linear interpolation between two signed 15-bit values, with 8-bit fraction <br /></td></tr>
<tr class="separator:gad4b09aba4e188e14d3e71d1c9f77f1a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf65357c7aeca9778e5a2f80a6bac2b5d"><td class="memItemLeft" align="right" valign="top">LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gaf65357c7aeca9778e5a2f80a6bac2b5d">map8</a> (uint8_t in, uint8_t rangeStart, uint8_t rangeEnd)</td></tr>
@@ -227,10 +239,10 @@ LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="
<tr class="memdesc:ga381449070b2d6bfba356f87881ab28c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">ease8InOutQuad: 8-bit quadratic ease-in / ease-out function Takes around 13 cycles on AVR <br /></td></tr>
<tr class="separator:ga381449070b2d6bfba356f87881ab28c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3fa6d71702477e71d7c0dd864eb1d568"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3fa6d71702477e71d7c0dd864eb1d568"></a>
-LIB8STATIC fract8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#ga3fa6d71702477e71d7c0dd864eb1d568">ease8InOutCubic</a> (fract8 i)</td></tr>
+LIB8STATIC <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#ga3fa6d71702477e71d7c0dd864eb1d568">ease8InOutCubic</a> (<a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> i)</td></tr>
<tr class="memdesc:ga3fa6d71702477e71d7c0dd864eb1d568"><td class="mdescLeft">&#160;</td><td class="mdescRight">ease8InOutCubic: 8-bit cubic ease-in / ease-out function Takes around 18 cycles on AVR <br /></td></tr>
<tr class="separator:ga3fa6d71702477e71d7c0dd864eb1d568"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa041cdbb17f073dbd352fcae6962dc23"><td class="memItemLeft" align="right" valign="top">LIB8STATIC fract8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gaa041cdbb17f073dbd352fcae6962dc23">ease8InOutApprox</a> (fract8 i)</td></tr>
+<tr class="memitem:gaa041cdbb17f073dbd352fcae6962dc23"><td class="memItemLeft" align="right" valign="top">LIB8STATIC <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gaa041cdbb17f073dbd352fcae6962dc23">ease8InOutApprox</a> (<a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> i)</td></tr>
<tr class="memdesc:gaa041cdbb17f073dbd352fcae6962dc23"><td class="mdescLeft">&#160;</td><td class="mdescRight">ease8InOutApprox: fast, rough 8-bit ease-in/ease-out function shaped approximately like 'ease8InOutCubic', it's never off by more than a couple of percent from the actual cubic S-curve, and it executes more than twice as fast. <a href="#gaa041cdbb17f073dbd352fcae6962dc23">More...</a><br /></td></tr>
<tr class="separator:gaa041cdbb17f073dbd352fcae6962dc23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae9e011ff745ade1164ae77b0ef62bfac"><td class="memItemLeft" align="right" valign="top">LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gae9e011ff745ade1164ae77b0ef62bfac">triwave8</a> (uint8_t in)</td></tr>
@@ -251,24 +263,24 @@ uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>millis</b> ()</td
<tr class="memitem:ga10c1e6e66d1679c0b54ceca0906245f1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga10c1e6e66d1679c0b54ceca0906245f1"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>get_millisecond_timer</b> ()</td></tr>
<tr class="separator:ga10c1e6e66d1679c0b54ceca0906245f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1b48fc520db5f40910caf79974992395"><td class="memItemLeft" align="right" valign="top">LIB8STATIC uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#ga1b48fc520db5f40910caf79974992395">beat88</a> (accum88 beats_per_minute_88, uint32_t timebase=0)</td></tr>
+<tr class="memitem:ga1b48fc520db5f40910caf79974992395"><td class="memItemLeft" align="right" valign="top">LIB8STATIC uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#ga1b48fc520db5f40910caf79974992395">beat88</a> (<a class="el" href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a">accum88</a> beats_per_minute_88, uint32_t timebase=0)</td></tr>
<tr class="memdesc:ga1b48fc520db5f40910caf79974992395"><td class="mdescLeft">&#160;</td><td class="mdescRight">with BPM specified in Q8.8 fixed-point format; e.g. <a href="#ga1b48fc520db5f40910caf79974992395">More...</a><br /></td></tr>
<tr class="separator:ga1b48fc520db5f40910caf79974992395"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gade6acbf6fd3c9d346148bccfcafb2fe2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gade6acbf6fd3c9d346148bccfcafb2fe2"></a>
-LIB8STATIC uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gade6acbf6fd3c9d346148bccfcafb2fe2">beat16</a> (accum88 beats_per_minute, uint32_t timebase=0)</td></tr>
+LIB8STATIC uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gade6acbf6fd3c9d346148bccfcafb2fe2">beat16</a> (<a class="el" href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a">accum88</a> beats_per_minute, uint32_t timebase=0)</td></tr>
<tr class="memdesc:gade6acbf6fd3c9d346148bccfcafb2fe2"><td class="mdescLeft">&#160;</td><td class="mdescRight">beat16 generates a 16-bit 'sawtooth' wave at a given BPM <br /></td></tr>
<tr class="separator:gade6acbf6fd3c9d346148bccfcafb2fe2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga12014943214a72eec31433d9682d4ebe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga12014943214a72eec31433d9682d4ebe"></a>
-LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#ga12014943214a72eec31433d9682d4ebe">beat8</a> (accum88 beats_per_minute, uint32_t timebase=0)</td></tr>
+LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#ga12014943214a72eec31433d9682d4ebe">beat8</a> (<a class="el" href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a">accum88</a> beats_per_minute, uint32_t timebase=0)</td></tr>
<tr class="memdesc:ga12014943214a72eec31433d9682d4ebe"><td class="mdescLeft">&#160;</td><td class="mdescRight">beat8 generates an 8-bit 'sawtooth' wave at a given BPM <br /></td></tr>
<tr class="separator:ga12014943214a72eec31433d9682d4ebe"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf917825ff26c8e1174c5b674a2f3c631"><td class="memItemLeft" align="right" valign="top">LIB8STATIC uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gaf917825ff26c8e1174c5b674a2f3c631">beatsin88</a> (accum88 beats_per_minute_88, uint16_t lowest=0, uint16_t highest=65535, uint32_t timebase=0, uint16_t phase_offset=0)</td></tr>
+<tr class="memitem:gaf917825ff26c8e1174c5b674a2f3c631"><td class="memItemLeft" align="right" valign="top">LIB8STATIC uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gaf917825ff26c8e1174c5b674a2f3c631">beatsin88</a> (<a class="el" href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a">accum88</a> beats_per_minute_88, uint16_t lowest=0, uint16_t highest=65535, uint32_t timebase=0, uint16_t phase_offset=0)</td></tr>
<tr class="memdesc:gaf917825ff26c8e1174c5b674a2f3c631"><td class="mdescLeft">&#160;</td><td class="mdescRight">beatsin88 generates a 16-bit sine wave at a given BPM, that oscillates within a given range. <a href="#gaf917825ff26c8e1174c5b674a2f3c631">More...</a><br /></td></tr>
<tr class="separator:gaf917825ff26c8e1174c5b674a2f3c631"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa46e5de1c4c27833359e7a97a18c839b"><td class="memItemLeft" align="right" valign="top">LIB8STATIC uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gaa46e5de1c4c27833359e7a97a18c839b">beatsin16</a> (accum88 beats_per_minute, uint16_t lowest=0, uint16_t highest=65535, uint32_t timebase=0, uint16_t phase_offset=0)</td></tr>
+<tr class="memitem:gaa46e5de1c4c27833359e7a97a18c839b"><td class="memItemLeft" align="right" valign="top">LIB8STATIC uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gaa46e5de1c4c27833359e7a97a18c839b">beatsin16</a> (<a class="el" href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a">accum88</a> beats_per_minute, uint16_t lowest=0, uint16_t highest=65535, uint32_t timebase=0, uint16_t phase_offset=0)</td></tr>
<tr class="memdesc:gaa46e5de1c4c27833359e7a97a18c839b"><td class="mdescLeft">&#160;</td><td class="mdescRight">beatsin16 generates a 16-bit sine wave at a given BPM, that oscillates within a given range. <a href="#gaa46e5de1c4c27833359e7a97a18c839b">More...</a><br /></td></tr>
<tr class="separator:gaa46e5de1c4c27833359e7a97a18c839b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaecd7cbfc2640407cabf75afcc7d9ddf4"><td class="memItemLeft" align="right" valign="top">LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gaecd7cbfc2640407cabf75afcc7d9ddf4">beatsin8</a> (accum88 beats_per_minute, uint8_t lowest=0, uint8_t highest=255, uint32_t timebase=0, uint8_t phase_offset=0)</td></tr>
+<tr class="memitem:gaecd7cbfc2640407cabf75afcc7d9ddf4"><td class="memItemLeft" align="right" valign="top">LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gaecd7cbfc2640407cabf75afcc7d9ddf4">beatsin8</a> (<a class="el" href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a">accum88</a> beats_per_minute, uint8_t lowest=0, uint8_t highest=255, uint32_t timebase=0, uint8_t phase_offset=0)</td></tr>
<tr class="memdesc:gaecd7cbfc2640407cabf75afcc7d9ddf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">beatsin8 generates an 8-bit sine wave at a given BPM, that oscillates within a given range. <a href="#gaecd7cbfc2640407cabf75afcc7d9ddf4">More...</a><br /></td></tr>
<tr class="separator:gaecd7cbfc2640407cabf75afcc7d9ddf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa2abcee2fe76fafd7f3a2aeab03e3b69"><td class="memItemLeft" align="right" valign="top">LIB8STATIC uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib8tion.html#gaa2abcee2fe76fafd7f3a2aeab03e3b69">seconds16</a> ()</td></tr>
@@ -304,6 +316,67 @@ LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>A variety of functions for working with numbers. </p>
+<h2 class="groupheader">Typedef Documentation</h2>
+<a class="anchor" id="gaaf46b9f719ef3bdb574f8e967af6dbb5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef uint16_t <a class="el" href="group__lib8tion.html#gaaf46b9f719ef3bdb574f8e967af6dbb5">fract16</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>ANSI: unsigned _Fract. </p>
+<p>range is 0 to 0.99998474121 in steps of 0.00001525878 ANSI: unsigned _Fract </p>
+
+</div>
+</div>
+<a class="anchor" id="ga5d6d013429a5b8a09d564d6137217644"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef uint8_t <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>ANSI unsigned short _Fract. </p>
+<p>range is 0 to 0.99609375 in steps of 0.00390625 ANSI: unsigned short _Fract </p>
+
+</div>
+</div>
+<a class="anchor" id="ga00cb5dc9e5b477a58669a3e40bc473c2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef int16_t <a class="el" href="group__lib8tion.html#ga00cb5dc9e5b477a58669a3e40bc473c2">sfract15</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>ANSI: signed _Fract. </p>
+<p>range is -0.99996948242 to 0.99996948242 in steps of 0.00003051757 ANSI: signed _Fract </p>
+
+</div>
+</div>
+<a class="anchor" id="ga7d6219a7247ab1923ed623e7ae0f34ae"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef int8_t <a class="el" href="group__lib8tion.html#ga7d6219a7247ab1923ed623e7ae0f34ae">sfract7</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>ANSI: signed short _Fract. </p>
+<p>range is -0.9921875 to 0.9921875 in steps of 0.0078125 ANSI: signed short _Fract </p>
+
+</div>
+</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga1b48fc520db5f40910caf79974992395"></a>
<div class="memitem">
@@ -312,7 +385,7 @@ LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="
<tr>
<td class="memname">LIB8STATIC uint16_t beat88 </td>
<td>(</td>
- <td class="paramtype">accum88&#160;</td>
+ <td class="paramtype"><a class="el" href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a">accum88</a>&#160;</td>
<td class="paramname"><em>beats_per_minute_88</em>, </td>
</tr>
<tr>
@@ -341,7 +414,7 @@ LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="
<tr>
<td class="memname">LIB8STATIC uint16_t beatsin16 </td>
<td>(</td>
- <td class="paramtype">accum88&#160;</td>
+ <td class="paramtype"><a class="el" href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a">accum88</a>&#160;</td>
<td class="paramname"><em>beats_per_minute</em>, </td>
</tr>
<tr>
@@ -387,7 +460,7 @@ LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="
<tr>
<td class="memname">LIB8STATIC uint8_t beatsin8 </td>
<td>(</td>
- <td class="paramtype">accum88&#160;</td>
+ <td class="paramtype"><a class="el" href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a">accum88</a>&#160;</td>
<td class="paramname"><em>beats_per_minute</em>, </td>
</tr>
<tr>
@@ -433,7 +506,7 @@ LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="
<tr>
<td class="memname">LIB8STATIC uint16_t beatsin88 </td>
<td>(</td>
- <td class="paramtype">accum88&#160;</td>
+ <td class="paramtype"><a class="el" href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a">accum88</a>&#160;</td>
<td class="paramname"><em>beats_per_minute_88</em>, </td>
</tr>
<tr>
@@ -535,7 +608,7 @@ LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="
<tr>
<td class="memname">LIB8STATIC uint8_t ease8InOutApprox </td>
<td>(</td>
- <td class="paramtype">fract8&#160;</td>
+ <td class="paramtype"><a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a>&#160;</td>
<td class="paramname"><em>i</em></td><td>)</td>
<td></td>
</tr>
@@ -552,7 +625,7 @@ LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">LIB8STATIC sfract15 floatToSfract15 </td>
+ <td class="memname">LIB8STATIC <a class="el" href="group__lib8tion.html#ga00cb5dc9e5b477a58669a3e40bc473c2">sfract15</a> floatToSfract15 </td>
<td>(</td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>f</em></td><td>)</td>
@@ -684,7 +757,7 @@ LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="
<tr>
<td class="memname">LIB8STATIC float sfract15ToFloat </td>
<td>(</td>
- <td class="paramtype">sfract15&#160;</td>
+ <td class="paramtype"><a class="el" href="group__lib8tion.html#ga00cb5dc9e5b477a58669a3e40bc473c2">sfract15</a>&#160;</td>
<td class="paramname"><em>y</em></td><td>)</td>
<td></td>
</tr>
@@ -764,7 +837,7 @@ LIB8STATIC uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/hierarchy.html b/docs/3.1/hierarchy.html
index 9f312890..02390922 100644
--- a/docs/3.1/hierarchy.html
+++ b/docs/3.1/hierarchy.html
@@ -179,11 +179,11 @@ This inheritance list is sorted roughly, but not completely, alphabetically:</di
<tr id="row_20_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_20_" class="arrow" onclick="toggleFolder('20_')">&#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_20_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_21_" 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_22_"><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_"><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">Typedef for IEEE754 "binary32" float type internals </td></tr>
<tr id="row_23_" 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">Structure representing 8 bits of access </td></tr>
<tr id="row_24_"><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_25_" 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">Pixel controller class </td></tr>
-<tr id="row_26_"><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_"><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">Template class for represneting fractional ints </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><b>SAMHardwareSPIOutput</b></td><td class="desc"></td></tr>
<tr id="row_27_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_28_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_28_" class="arrow" onclick="toggleFolder('28_')">&#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>
@@ -201,7 +201,7 @@ This inheritance list is sorted roughly, but not completely, alphabetically:</di
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/hsv2rgb_8h_source.html b/docs/3.1/hsv2rgb_8h_source.html
index 6fccf61a..bb7867c0 100644
--- a/docs/3.1/hsv2rgb_8h_source.html
+++ b/docs/3.1/hsv2rgb_8h_source.html
@@ -181,7 +181,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/index.html b/docs/3.1/index.html
index 89c9c3b0..f44b5a99 100644
--- a/docs/3.1/index.html
+++ b/docs/3.1/index.html
@@ -84,7 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/inherit_graph_18.map b/docs/3.1/inherit_graph_18.map
index 8babf404..c4676ee3 100644
--- a/docs/3.1/inherit_graph_18.map
+++ b/docs/3.1/inherit_graph_18.map
@@ -1,3 +1,3 @@
<map id="Graphical Class Hierarchy" name="Graphical Class Hierarchy">
-<area shape="rect" id="node1" href="$union_i_e_e_e754binary32__t.html" title="IEEE754binary32_t" alt="" coords="6,5,143,32"/>
+<area shape="rect" id="node1" href="$union_i_e_e_e754binary32__t.html" title="typedef for IEEE754 &quot;binary32&quot; float type internals " alt="" coords="6,5,143,32"/>
</map>
diff --git a/docs/3.1/inherit_graph_18.md5 b/docs/3.1/inherit_graph_18.md5
index 586f6e81..16e73671 100644
--- a/docs/3.1/inherit_graph_18.md5
+++ b/docs/3.1/inherit_graph_18.md5
@@ -1 +1 @@
-96c12d437b00f882905c100917f4fc8f \ No newline at end of file
+3179042e30daae2627d365314c520288 \ No newline at end of file
diff --git a/docs/3.1/inherit_graph_22.map b/docs/3.1/inherit_graph_22.map
index 78dcf17b..11491aa5 100644
--- a/docs/3.1/inherit_graph_22.map
+++ b/docs/3.1/inherit_graph_22.map
@@ -1,3 +1,3 @@
<map id="Graphical Class Hierarchy" name="Graphical Class Hierarchy">
-<area shape="rect" id="node1" href="$classq.html" title="q\&lt; T, F, I \&gt;" alt="" coords="6,5,93,32"/>
+<area shape="rect" id="node1" href="$classq.html" title="Template class for represneting fractional ints. " alt="" coords="6,5,93,32"/>
</map>
diff --git a/docs/3.1/inherit_graph_22.md5 b/docs/3.1/inherit_graph_22.md5
index 82b1e6bd..6c7d1d94 100644
--- a/docs/3.1/inherit_graph_22.md5
+++ b/docs/3.1/inherit_graph_22.md5
@@ -1 +1 @@
-34855bf88566a0ba51f7a87b06c3d4de \ No newline at end of file
+8c0f6c23386353ec4b581d1c76c02e93 \ No newline at end of file
diff --git a/docs/3.1/inherits.html b/docs/3.1/inherits.html
index 9396d874..2ab965ec 100644
--- a/docs/3.1/inherits.html
+++ b/docs/3.1/inherits.html
@@ -166,7 +166,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</td></tr>
<tr><td><img src="inherit_graph_18.png" border="0" alt="" usemap="#_i_e_e_e754binary32__t"/>
<map name="_i_e_e_e754binary32__t" id="_i_e_e_e754binary32__t">
-<area shape="rect" id="node1" href="union_i_e_e_e754binary32__t.html" title="IEEE754binary32_t" alt="" coords="6,5,143,32"/></map>
+<area shape="rect" id="node1" href="union_i_e_e_e754binary32__t.html" title="typedef for IEEE754 &quot;binary32&quot; float type internals " alt="" coords="6,5,143,32"/></map>
</td></tr>
<tr><td><img src="inherit_graph_19.png" border="0" alt="" usemap="#just8bits"/>
<map name="just8bits" id="just8bits">
@@ -182,7 +182,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</td></tr>
<tr><td><img src="inherit_graph_22.png" border="0" alt="" usemap="#q_3_01_t_00_01_f_00_01_i_01_4"/>
<map name="q_3_01_t_00_01_f_00_01_i_01_4" id="q_3_01_t_00_01_f_00_01_i_01_4">
-<area shape="rect" id="node1" href="classq.html" title="q\&lt; T, F, I \&gt;" alt="" coords="6,5,93,32"/></map>
+<area shape="rect" id="node1" href="classq.html" title="Template class for represneting fractional ints. " alt="" coords="6,5,93,32"/></map>
</td></tr>
<tr><td><img src="inherit_graph_23.png" border="0" alt="" usemap="#_selectable"/>
<map name="_selectable" id="_selectable">
@@ -216,7 +216,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/led__sysdefs_8h_source.html b/docs/3.1/led__sysdefs_8h_source.html
index 884c9f2b..9118feee 100644
--- a/docs/3.1/led__sysdefs_8h_source.html
+++ b/docs/3.1/led__sysdefs_8h_source.html
@@ -131,7 +131,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/lib8tion_8h_source.html b/docs/3.1/lib8tion_8h_source.html
index 0150bf79..9d5945b2 100644
--- a/docs/3.1/lib8tion_8h_source.html
+++ b/docs/3.1/lib8tion_8h_source.html
@@ -404,668 +404,682 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;<span class="comment">// in steps of 0.00003051757</span></div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;<span class="keyword">typedef</span> uint8_t fract8; <span class="comment">// ANSI: unsigned short _Fract</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;<span class="keyword">typedef</span> int8_t sfract7; <span class="comment">// ANSI: signed short _Fract</span></div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;<span class="keyword">typedef</span> uint16_t fract16; <span class="comment">// ANSI: unsigned _Fract</span></div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;<span class="keyword">typedef</span> int16_t sfract15; <span class="comment">// ANSI: signed _Fract</span></div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;</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="comment">// accumXY types should be interpreted as X bits of integer,</span></div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;<span class="comment">// and Y bits of fraction.</span></div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;<span class="comment">// E.g., accum88 has 8 bits of int, 8 bits of fraction</span></div>
-<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="keyword">typedef</span> uint16_t accum88; <span class="comment">// ANSI: unsigned short _Accum</span></div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160;<span class="keyword">typedef</span> int16_t saccum78; <span class="comment">// ANSI: signed short _Accum</span></div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;<span class="keyword">typedef</span> uint32_t accum1616;<span class="comment">// ANSI: signed _Accum</span></div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;<span class="keyword">typedef</span> int32_t saccum1516;<span class="comment">//ANSI: signed _Accum</span></div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;<span class="keyword">typedef</span> uint16_t accum124; <span class="comment">// no direct ANSI counterpart</span></div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;<span class="keyword">typedef</span> int32_t saccum114;<span class="comment">// no direct ANSI counterpart</span></div>
+<div class="line"><a name="l00324"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644"> 324</a></span>&#160;<span class="keyword">typedef</span> uint8_t <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a>; </div>
+<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;</div>
+<div class="line"><a name="l00328"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga7d6219a7247ab1923ed623e7ae0f34ae"> 328</a></span>&#160;<span class="keyword">typedef</span> int8_t <a class="code" href="group__lib8tion.html#ga7d6219a7247ab1923ed623e7ae0f34ae">sfract7</a>; </div>
+<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;</div>
+<div class="line"><a name="l00332"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gaaf46b9f719ef3bdb574f8e967af6dbb5"> 332</a></span>&#160;<span class="keyword">typedef</span> uint16_t <a class="code" href="group__lib8tion.html#gaaf46b9f719ef3bdb574f8e967af6dbb5">fract16</a>; </div>
+<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160;</div>
+<div class="line"><a name="l00336"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga00cb5dc9e5b477a58669a3e40bc473c2"> 336</a></span>&#160;<span class="keyword">typedef</span> int16_t <a class="code" href="group__lib8tion.html#ga00cb5dc9e5b477a58669a3e40bc473c2">sfract15</a>; </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;</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160;<span class="comment">// typedef for IEEE754 &quot;binary32&quot; float type internals</span></div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;</div>
-<div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="union_i_e_e_e754binary32__t.html"> 342</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">union </span>{</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; uint32_t i;</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordtype">float</span> f;</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; uint32_t mantissa: 23;</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; uint32_t exponent: 8;</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; uint32_t signbit: 1;</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; };</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; uint32_t mant7 : 7;</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; uint32_t mant16: 16;</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; uint32_t exp_ : 8;</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; uint32_t sb_ : 1;</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; };</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; uint32_t mant_lo8 : 8;</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; uint32_t mant_hi16_exp_lo1 : 16;</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; uint32_t sb_exphi7 : 8;</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;} <a class="code" href="union_i_e_e_e754binary32__t.html">IEEE754binary32_t</a>;</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;<span class="preprocessor">#include &quot;lib8tion/math8.h&quot;</span></div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;<span class="preprocessor">#include &quot;lib8tion/scale8.h&quot;</span></div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;<span class="preprocessor">#include &quot;lib8tion/random8.h&quot;</span></div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;<span class="preprocessor">#include &quot;lib8tion/trig8.h&quot;</span></div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;</div>
+<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;<span class="comment">// accumXY types should be interpreted as X bits of integer,</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160;<span class="comment">// and Y bits of fraction.</span></div>
+<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;<span class="comment">// E.g., accum88 has 8 bits of int, 8 bits of fraction</span></div>
+<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div>
+<div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a"> 343</a></span>&#160;<span class="keyword">typedef</span> uint16_t <a class="code" href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a">accum88</a>; </div>
+<div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga9585be88f27cab4c367399d8e91c8467"> 344</a></span>&#160;<span class="keyword">typedef</span> int16_t <a class="code" href="group__lib8tion.html#ga9585be88f27cab4c367399d8e91c8467">saccum78</a>; </div>
+<div class="line"><a name="l00345"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gae3ac7def25ef5ddea2da1a3bc0c00f44"> 345</a></span>&#160;<span class="keyword">typedef</span> uint32_t <a class="code" href="group__lib8tion.html#gae3ac7def25ef5ddea2da1a3bc0c00f44">accum1616</a>;</div>
+<div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gad2dad84f67c8a4cc6d4c92e2c7d3e89f"> 346</a></span>&#160;<span class="keyword">typedef</span> int32_t <a class="code" href="group__lib8tion.html#gad2dad84f67c8a4cc6d4c92e2c7d3e89f">saccum1516</a>;</div>
+<div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga7bcc9ebf20b0dd74d9999d5a630d443f"> 347</a></span>&#160;<span class="keyword">typedef</span> uint16_t <a class="code" href="group__lib8tion.html#ga7bcc9ebf20b0dd74d9999d5a630d443f">accum124</a>; </div>
+<div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga95e7a40d98aa0371e9adce9220d3a67c"> 348</a></span>&#160;<span class="keyword">typedef</span> int32_t <a class="code" href="group__lib8tion.html#ga95e7a40d98aa0371e9adce9220d3a67c">saccum114</a>;</div>
+<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;</div>
+<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;</div>
+<div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="union_i_e_e_e754binary32__t.html"> 352</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">union </span>{</div>
+<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; uint32_t i;</div>
+<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordtype">float</span> f;</div>
+<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; uint32_t mantissa: 23;</div>
+<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; uint32_t exponent: 8;</div>
+<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; uint32_t signbit: 1;</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; <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; uint32_t mant7 : 7;</div>
+<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; uint32_t mant16: 16;</div>
+<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; uint32_t exp_ : 8;</div>
+<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; uint32_t sb_ : 1;</div>
+<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; };</div>
+<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; uint32_t mant_lo8 : 8;</div>
+<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; uint32_t mant_hi16_exp_lo1 : 16;</div>
+<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; uint32_t sb_exphi7 : 8;</div>
+<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; };</div>
+<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;} <a class="code" href="union_i_e_e_e754binary32__t.html">IEEE754binary32_t</a>;</div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;<span class="comment">//</span></div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;<span class="comment">// float-to-fixed and fixed-to-float conversions</span></div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;<span class="comment">//</span></div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;<span class="comment">// Note that anything involving a &#39;float&#39; on AVR will be slower.</span></div>
+<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;<span class="preprocessor">#include &quot;lib8tion/math8.h&quot;</span></div>
+<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;<span class="preprocessor">#include &quot;lib8tion/scale8.h&quot;</span></div>
+<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;<span class="preprocessor">#include &quot;lib8tion/random8.h&quot;</span></div>
+<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160;<span class="preprocessor">#include &quot;lib8tion/trig8.h&quot;</span></div>
+<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;</div>
+<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;</div>
+<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;</div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;</div>
-<div class="line"><a name="l00384"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gab947c1150e3b9056cb91685a14270173"> 384</a></span>&#160;LIB8STATIC <span class="keywordtype">float</span> <a class="code" href="group__lib8tion.html#gab947c1150e3b9056cb91685a14270173">sfract15ToFloat</a>( sfract15 y)</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;{</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordflow">return</span> y / 32768.0;</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;}</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;</div>
-<div class="line"><a name="l00393"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gaa2facbc0ec935e34c629aef43d6262c0"> 393</a></span>&#160;LIB8STATIC sfract15 <a class="code" href="group__lib8tion.html#gaa2facbc0ec935e34c629aef43d6262c0">floatToSfract15</a>( <span class="keywordtype">float</span> f)</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160;{</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keywordflow">return</span> f * 32768.0;</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;}</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;</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;</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;</div>
+<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;<span class="comment">// float-to-fixed and fixed-to-float conversions</span></div>
+<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;<span class="comment">// Note that anything involving a &#39;float&#39; on AVR will be slower.</span></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="group__lib8tion.html#gab947c1150e3b9056cb91685a14270173"> 394</a></span>&#160;LIB8STATIC <span class="keywordtype">float</span> <a class="code" href="group__lib8tion.html#gab947c1150e3b9056cb91685a14270173">sfract15ToFloat</a>( <a class="code" href="group__lib8tion.html#ga00cb5dc9e5b477a58669a3e40bc473c2">sfract15</a> y)</div>
+<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;{</div>
+<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordflow">return</span> y / 32768.0;</div>
+<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;}</div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;<span class="comment">//</span></div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;<span class="comment">// memmove8, memcpy8, and memset8:</span></div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;<span class="comment">// alternatives to memmove, memcpy, and memset that are</span></div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;<span class="comment">// faster on AVR than standard avr-libc 1.8</span></div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;<span class="preprocessor">#if defined(__AVR__)</span></div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;<span class="keywordtype">void</span> * memmove8( <span class="keywordtype">void</span> * dst, <span class="keyword">const</span> <span class="keywordtype">void</span> * src, uint16_t num );</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;<span class="keywordtype">void</span> * memcpy8 ( <span class="keywordtype">void</span> * dst, <span class="keyword">const</span> <span class="keywordtype">void</span> * src, uint16_t num ) <a class="code" href="group___bitswap.html#ga01396a2e40133293c3badab349ac99f0">__attribute__</a> ((noinline));</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160;<span class="keywordtype">void</span> * memset8 ( <span class="keywordtype">void</span> * ptr, uint8_t value, uint16_t num ) <a class="code" href="group___bitswap.html#ga01396a2e40133293c3badab349ac99f0">__attribute__</a> ((noinline)) ;</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;}</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160;<span class="comment">// on non-AVR platforms, these names just call standard libc.</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160;<span class="preprocessor">#define memmove8 memmove</span></div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;<span class="preprocessor">#define memcpy8 memcpy</span></div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160;<span class="preprocessor">#define memset8 memset</span></div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;<span class="comment">//</span></div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;<span class="comment">// linear interpolation, such as could be used for Perlin noise, etc.</span></div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;<span class="comment">//</span></div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;<span class="comment">// A note on the structure of the lerp functions:</span></div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;<span class="comment">// The cases for b&gt;a and b&lt;=a are handled separately for</span></div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;<span class="comment">// speed: without knowing the relative order of a and b,</span></div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;<span class="comment">// the value (a-b) might be overflow the width of a or b,</span></div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;<span class="comment">// and have to be promoted to a wider, slower type.</span></div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160;<span class="comment">// To avoid that, we separate the two cases, and are able</span></div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;<span class="comment">// to do all the math in the same width as the arguments,</span></div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160;<span class="comment">// which is much faster and smaller on AVR.</span></div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;</div>
-<div class="line"><a name="l00436"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga62ed4425400bc4140902347dc54ffb72"> 436</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group__lib8tion.html#ga62ed4425400bc4140902347dc54ffb72">lerp8by8</a>( uint8_t a, uint8_t b, fract8 frac)</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;{</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; uint8_t result;</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keywordflow">if</span>( b &gt; a) {</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; uint8_t delta = b - a;</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; uint8_t scaled = <a class="code" href="group___scaling.html#ga6c160f8c36ce9b3c5eda68e4992010af">scale8</a>( delta, frac);</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; result = a + scaled;</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; uint8_t delta = a - b;</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; uint8_t scaled = <a class="code" href="group___scaling.html#ga6c160f8c36ce9b3c5eda68e4992010af">scale8</a>( delta, frac);</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; result = a - scaled;</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; <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;}</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;</div>
-<div class="line"><a name="l00453"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga7c02960d0f26e90054c7312e5f9a55b3"> 453</a></span>&#160;LIB8STATIC uint16_t <a class="code" href="group__lib8tion.html#ga7c02960d0f26e90054c7312e5f9a55b3">lerp16by16</a>( uint16_t a, uint16_t b, fract16 frac)</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; uint16_t result;</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">if</span>( b &gt; a ) {</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; uint16_t delta = b - a;</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; uint32_t scaled = <a class="code" href="group___scaling.html#ga1ff8ac00ad78e22acc7bb7445bfdb145">scale16</a>(delta, frac);</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; result = a + scaled;</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; uint16_t delta = a - b;</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; uint16_t scaled = <a class="code" href="group___scaling.html#ga1ff8ac00ad78e22acc7bb7445bfdb145">scale16</a>( delta, frac);</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; result = a - scaled;</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; }</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;}</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160;</div>
-<div class="line"><a name="l00470"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga8c8f06da86c5d7cf13f55c3a5bfdf251"> 470</a></span>&#160;LIB8STATIC uint16_t <a class="code" href="group__lib8tion.html#ga8c8f06da86c5d7cf13f55c3a5bfdf251">lerp16by8</a>( uint16_t a, uint16_t b, fract8 frac)</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; uint16_t result;</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keywordflow">if</span>( b &gt; a) {</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; uint16_t delta = b - a;</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; uint16_t scaled = <a class="code" href="group___scaling.html#gaf34fde0746c9c2e5ed44f9c437a2267e">scale16by8</a>( delta, frac);</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; result = a + scaled;</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; uint16_t delta = a - b;</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; uint16_t scaled = <a class="code" href="group___scaling.html#gaf34fde0746c9c2e5ed44f9c437a2267e">scale16by8</a>( delta, frac);</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; result = a - scaled;</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; }</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">return</span> result;</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;</div>
-<div class="line"><a name="l00487"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gaacea0eaea98a065dfa08bb1c147c52a1"> 487</a></span>&#160;LIB8STATIC int16_t <a class="code" href="group__lib8tion.html#gaacea0eaea98a065dfa08bb1c147c52a1">lerp15by8</a>( int16_t a, int16_t b, fract8 frac)</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;{</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; int16_t result;</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="keywordflow">if</span>( b &gt; a) {</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; uint16_t delta = b - a;</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; uint16_t scaled = <a class="code" href="group___scaling.html#gaf34fde0746c9c2e5ed44f9c437a2267e">scale16by8</a>( delta, frac);</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; result = a + scaled;</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; uint16_t delta = a - b;</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; uint16_t scaled = <a class="code" href="group___scaling.html#gaf34fde0746c9c2e5ed44f9c437a2267e">scale16by8</a>( delta, frac);</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; result = a - scaled;</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="keywordflow">return</span> result;</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160;}</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160;</div>
-<div class="line"><a name="l00504"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gad4b09aba4e188e14d3e71d1c9f77f1a5"> 504</a></span>&#160;LIB8STATIC int16_t <a class="code" href="group__lib8tion.html#gad4b09aba4e188e14d3e71d1c9f77f1a5">lerp15by16</a>( int16_t a, int16_t b, fract16 frac)</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; int16_t result;</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="keywordflow">if</span>( b &gt; a) {</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; uint16_t delta = b - a;</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; uint16_t scaled = <a class="code" href="group___scaling.html#ga1ff8ac00ad78e22acc7bb7445bfdb145">scale16</a>( delta, frac);</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; result = a + scaled;</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; uint16_t delta = a - b;</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; uint16_t scaled = <a class="code" href="group___scaling.html#ga1ff8ac00ad78e22acc7bb7445bfdb145">scale16</a>( delta, frac);</div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; result = a - scaled;</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; }</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160;}</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160;</div>
-<div class="line"><a name="l00536"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gaf65357c7aeca9778e5a2f80a6bac2b5d"> 536</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group__lib8tion.html#gaf65357c7aeca9778e5a2f80a6bac2b5d">map8</a>( uint8_t in, uint8_t rangeStart, uint8_t rangeEnd)</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160;{</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; uint8_t rangeWidth = rangeEnd - rangeStart;</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; uint8_t out = <a class="code" href="group___scaling.html#ga6c160f8c36ce9b3c5eda68e4992010af">scale8</a>( in, rangeWidth);</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; out += rangeStart;</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160;}</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;</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160;<span class="comment">//</span></div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;<span class="comment">// easing functions; see http://easings.net</span></div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160;<span class="comment">//</span></div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160;</div>
-<div class="line"><a name="l00552"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga381449070b2d6bfba356f87881ab28c0"> 552</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group__lib8tion.html#ga381449070b2d6bfba356f87881ab28c0">ease8InOutQuad</a>( uint8_t i)</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160;{</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; uint8_t j = i;</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <span class="keywordflow">if</span>( j &amp; 0x80 ) {</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; j = 255 - j;</div>
-<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; uint8_t jj = <a class="code" href="group___scaling.html#ga6c160f8c36ce9b3c5eda68e4992010af">scale8</a>( j, (j+1));</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; uint8_t jj2 = jj &lt;&lt; 1;</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <span class="keywordflow">if</span>( i &amp; 0x80 ) {</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; jj2 = 255 - jj2;</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; }</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <span class="keywordflow">return</span> jj2;</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;}</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160;</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160;</div>
-<div class="line"><a name="l00569"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga3fa6d71702477e71d7c0dd864eb1d568"> 569</a></span>&#160;LIB8STATIC fract8 <a class="code" href="group__lib8tion.html#ga3fa6d71702477e71d7c0dd864eb1d568">ease8InOutCubic</a>( fract8 i)</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160;{</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; uint8_t ii = <a class="code" href="group___scaling.html#ga39579fcf09743f15545fe0b831ca313c">scale8_LEAVING_R1_DIRTY</a>( i, i);</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; uint8_t iii = <a class="code" href="group___scaling.html#ga39579fcf09743f15545fe0b831ca313c">scale8_LEAVING_R1_DIRTY</a>( ii, i);</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160;</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; uint16_t r1 = (3 * (uint16_t)(ii)) - ( 2 * (uint16_t)(iii));</div>
+<div class="line"><a name="l00403"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gaa2facbc0ec935e34c629aef43d6262c0"> 403</a></span>&#160;LIB8STATIC <a class="code" href="group__lib8tion.html#ga00cb5dc9e5b477a58669a3e40bc473c2">sfract15</a> <a class="code" href="group__lib8tion.html#gaa2facbc0ec935e34c629aef43d6262c0">floatToSfract15</a>( <span class="keywordtype">float</span> f)</div>
+<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;{</div>
+<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">return</span> f * 32768.0;</div>
+<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;}</div>
+<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160;</div>
+<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;</div>
+<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;</div>
+<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;<span class="comment">// memmove8, memcpy8, and memset8:</span></div>
+<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160;<span class="comment">// alternatives to memmove, memcpy, and memset that are</span></div>
+<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160;<span class="comment">// faster on AVR than standard avr-libc 1.8</span></div>
+<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;</div>
+<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160;<span class="preprocessor">#if defined(__AVR__)</span></div>
+<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;<span class="keywordtype">void</span> * memmove8( <span class="keywordtype">void</span> * dst, <span class="keyword">const</span> <span class="keywordtype">void</span> * src, uint16_t num );</div>
+<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;<span class="keywordtype">void</span> * memcpy8 ( <span class="keywordtype">void</span> * dst, <span class="keyword">const</span> <span class="keywordtype">void</span> * src, uint16_t num ) <a class="code" href="group___bitswap.html#ga01396a2e40133293c3badab349ac99f0">__attribute__</a> ((noinline));</div>
+<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160;<span class="keywordtype">void</span> * memset8 ( <span class="keywordtype">void</span> * ptr, uint8_t value, uint16_t num ) <a class="code" href="group___bitswap.html#ga01396a2e40133293c3badab349ac99f0">__attribute__</a> ((noinline)) ;</div>
+<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;}</div>
+<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;<span class="comment">// on non-AVR platforms, these names just call standard libc.</span></div>
+<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;<span class="preprocessor">#define memmove8 memmove</span></div>
+<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;<span class="preprocessor">#define memcpy8 memcpy</span></div>
+<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;<span class="preprocessor">#define memset8 memset</span></div>
+<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;</div>
+<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;</div>
+<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160;<span class="comment">// linear interpolation, such as could be used for Perlin noise, etc.</span></div>
+<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160;</div>
+<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;<span class="comment">// A note on the structure of the lerp functions:</span></div>
+<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160;<span class="comment">// The cases for b&gt;a and b&lt;=a are handled separately for</span></div>
+<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;<span class="comment">// speed: without knowing the relative order of a and b,</span></div>
+<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160;<span class="comment">// the value (a-b) might be overflow the width of a or b,</span></div>
+<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;<span class="comment">// and have to be promoted to a wider, slower type.</span></div>
+<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160;<span class="comment">// To avoid that, we separate the two cases, and are able</span></div>
+<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160;<span class="comment">// to do all the math in the same width as the arguments,</span></div>
+<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;<span class="comment">// which is much faster and smaller on AVR.</span></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="group__lib8tion.html#ga62ed4425400bc4140902347dc54ffb72"> 446</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group__lib8tion.html#ga62ed4425400bc4140902347dc54ffb72">lerp8by8</a>( uint8_t a, uint8_t b, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> frac)</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; uint8_t result;</div>
+<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keywordflow">if</span>( b &gt; a) {</div>
+<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; uint8_t delta = b - a;</div>
+<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; uint8_t scaled = <a class="code" href="group___scaling.html#ga6c160f8c36ce9b3c5eda68e4992010af">scale8</a>( delta, frac);</div>
+<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; result = a + scaled;</div>
+<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; uint8_t delta = a - b;</div>
+<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; uint8_t scaled = <a class="code" href="group___scaling.html#ga6c160f8c36ce9b3c5eda68e4992010af">scale8</a>( delta, frac);</div>
+<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; result = a - scaled;</div>
+<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; }</div>
+<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keywordflow">return</span> result;</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;</div>
+<div class="line"><a name="l00463"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga7c02960d0f26e90054c7312e5f9a55b3"> 463</a></span>&#160;LIB8STATIC uint16_t <a class="code" href="group__lib8tion.html#ga7c02960d0f26e90054c7312e5f9a55b3">lerp16by16</a>( uint16_t a, uint16_t b, <a class="code" href="group__lib8tion.html#gaaf46b9f719ef3bdb574f8e967af6dbb5">fract16</a> frac)</div>
+<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;{</div>
+<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; uint16_t result;</div>
+<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <span class="keywordflow">if</span>( b &gt; a ) {</div>
+<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; uint16_t delta = b - a;</div>
+<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; uint32_t scaled = <a class="code" href="group___scaling.html#ga1ff8ac00ad78e22acc7bb7445bfdb145">scale16</a>(delta, frac);</div>
+<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; result = a + scaled;</div>
+<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; uint16_t delta = a - b;</div>
+<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; uint16_t scaled = <a class="code" href="group___scaling.html#ga1ff8ac00ad78e22acc7bb7445bfdb145">scale16</a>( delta, frac);</div>
+<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; result = a - scaled;</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="keywordflow">return</span> result;</div>
+<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;}</div>
+<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;</div>
+<div class="line"><a name="l00480"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga8c8f06da86c5d7cf13f55c3a5bfdf251"> 480</a></span>&#160;LIB8STATIC uint16_t <a class="code" href="group__lib8tion.html#ga8c8f06da86c5d7cf13f55c3a5bfdf251">lerp16by8</a>( uint16_t a, uint16_t b, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> frac)</div>
+<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160;{</div>
+<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; uint16_t result;</div>
+<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keywordflow">if</span>( b &gt; a) {</div>
+<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; uint16_t delta = b - a;</div>
+<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; uint16_t scaled = <a class="code" href="group___scaling.html#gaf34fde0746c9c2e5ed44f9c437a2267e">scale16by8</a>( delta, frac);</div>
+<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; result = a + scaled;</div>
+<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; uint16_t delta = a - b;</div>
+<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; uint16_t scaled = <a class="code" href="group___scaling.html#gaf34fde0746c9c2e5ed44f9c437a2267e">scale16by8</a>( delta, frac);</div>
+<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; result = a - scaled;</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="keywordflow">return</span> result;</div>
+<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160;}</div>
+<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160;</div>
+<div class="line"><a name="l00497"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gaacea0eaea98a065dfa08bb1c147c52a1"> 497</a></span>&#160;LIB8STATIC int16_t <a class="code" href="group__lib8tion.html#gaacea0eaea98a065dfa08bb1c147c52a1">lerp15by8</a>( int16_t a, int16_t b, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> frac)</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; int16_t result;</div>
+<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keywordflow">if</span>( b &gt; a) {</div>
+<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; uint16_t delta = b - a;</div>
+<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; uint16_t scaled = <a class="code" href="group___scaling.html#gaf34fde0746c9c2e5ed44f9c437a2267e">scale16by8</a>( delta, frac);</div>
+<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; result = a + scaled;</div>
+<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; uint16_t delta = a - b;</div>
+<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; uint16_t scaled = <a class="code" href="group___scaling.html#gaf34fde0746c9c2e5ed44f9c437a2267e">scale16by8</a>( delta, frac);</div>
+<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; result = a - scaled;</div>
+<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; }</div>
+<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keywordflow">return</span> result;</div>
+<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160;}</div>
+<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160;</div>
+<div class="line"><a name="l00514"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gad4b09aba4e188e14d3e71d1c9f77f1a5"> 514</a></span>&#160;LIB8STATIC int16_t <a class="code" href="group__lib8tion.html#gad4b09aba4e188e14d3e71d1c9f77f1a5">lerp15by16</a>( int16_t a, int16_t b, <a class="code" href="group__lib8tion.html#gaaf46b9f719ef3bdb574f8e967af6dbb5">fract16</a> frac)</div>
+<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;{</div>
+<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; int16_t result;</div>
+<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keywordflow">if</span>( b &gt; a) {</div>
+<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; uint16_t delta = b - a;</div>
+<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; uint16_t scaled = <a class="code" href="group___scaling.html#ga1ff8ac00ad78e22acc7bb7445bfdb145">scale16</a>( delta, frac);</div>
+<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; result = a + scaled;</div>
+<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; uint16_t delta = a - b;</div>
+<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; uint16_t scaled = <a class="code" href="group___scaling.html#ga1ff8ac00ad78e22acc7bb7445bfdb145">scale16</a>( delta, frac);</div>
+<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; result = a - scaled;</div>
+<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; }</div>
+<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="keywordflow">return</span> result;</div>
+<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160;}</div>
+<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160;</div>
+<div class="line"><a name="l00546"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gaf65357c7aeca9778e5a2f80a6bac2b5d"> 546</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group__lib8tion.html#gaf65357c7aeca9778e5a2f80a6bac2b5d">map8</a>( uint8_t in, uint8_t rangeStart, uint8_t rangeEnd)</div>
+<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;{</div>
+<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; uint8_t rangeWidth = rangeEnd - rangeStart;</div>
+<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; uint8_t out = <a class="code" href="group___scaling.html#ga6c160f8c36ce9b3c5eda68e4992010af">scale8</a>( in, rangeWidth);</div>
+<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; out += rangeStart;</div>
+<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; <span class="keywordflow">return</span> out;</div>
+<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160;}</div>
+<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160;</div>
+<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160;</div>
+<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160;<span class="comment">// easing functions; see http://easings.net</span></div>
+<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160;</div>
+<div class="line"><a name="l00562"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga381449070b2d6bfba356f87881ab28c0"> 562</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group__lib8tion.html#ga381449070b2d6bfba356f87881ab28c0">ease8InOutQuad</a>( uint8_t i)</div>
+<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160;{</div>
+<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; uint8_t j = i;</div>
+<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <span class="keywordflow">if</span>( j &amp; 0x80 ) {</div>
+<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; j = 255 - j;</div>
+<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; }</div>
+<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; uint8_t jj = <a class="code" href="group___scaling.html#ga6c160f8c36ce9b3c5eda68e4992010af">scale8</a>( j, (j+1));</div>
+<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; uint8_t jj2 = jj &lt;&lt; 1;</div>
+<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keywordflow">if</span>( i &amp; 0x80 ) {</div>
+<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; jj2 = 255 - jj2;</div>
+<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; }</div>
+<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="keywordflow">return</span> jj2;</div>
+<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160;}</div>
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160;</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="comment">/* the code generated for the above *&#39;s automatically</span></div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160;<span class="comment"> cleans up R1, so there&#39;s no need to explicitily call</span></div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160;<span class="comment"> cleanup_R1(); */</span></div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160;</div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; uint8_t result = r1;</div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160;</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="comment">// if we got &quot;256&quot;, return 255:</span></div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="keywordflow">if</span>( r1 &amp; 0x100 ) {</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; result = 255;</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; }</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160;}</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160;</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160;</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160;<span class="preprocessor">#if EASE8_C == 1</span></div>
-<div class="line"><a name="l00598"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gaa041cdbb17f073dbd352fcae6962dc23"> 598</a></span>&#160;LIB8STATIC fract8 <a class="code" href="group__lib8tion.html#gaa041cdbb17f073dbd352fcae6962dc23">ease8InOutApprox</a>( fract8 i)</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160;{</div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; <span class="keywordflow">if</span>( i &lt; 64) {</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="comment">// start with slope 0.5</span></div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; i /= 2;</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span>( i &gt; (255 - 64)) {</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <span class="comment">// end with slope 0.5</span></div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; i = 255 - i;</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; i /= 2;</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; i = 255 - i;</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; <span class="comment">// in the middle, use slope 192/128 = 1.5</span></div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; i -= 64;</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; i += (i / 2);</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; i += 32;</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; }</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160;</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <span class="keywordflow">return</span> i;</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160;}</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160;</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160;<span class="preprocessor">#elif EASE8_AVRASM == 1</span></div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160;LIB8STATIC uint8_t <a class="code" href="group__lib8tion.html#gaa041cdbb17f073dbd352fcae6962dc23">ease8InOutApprox</a>( fract8 i)</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160;{</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; <span class="comment">// takes around 7 cycles on AVR</span></div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; <span class="keyword">asm</span> <span class="keyword">volatile</span> (</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="stringliteral">&quot; subi %[i], 64 \n\t&quot;</span></div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; <span class="stringliteral">&quot; cpi %[i], 128 \n\t&quot;</span></div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; <span class="stringliteral">&quot; brcc Lshift_%= \n\t&quot;</span></div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160;</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <span class="comment">// middle case</span></div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; <span class="stringliteral">&quot; mov __tmp_reg__, %[i] \n\t&quot;</span></div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <span class="stringliteral">&quot; lsr __tmp_reg__ \n\t&quot;</span></div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; <span class="stringliteral">&quot; add %[i], __tmp_reg__ \n\t&quot;</span></div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <span class="stringliteral">&quot; subi %[i], 224 \n\t&quot;</span></div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <span class="stringliteral">&quot; rjmp Ldone_%= \n\t&quot;</span></div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160;</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <span class="comment">// start or end case</span></div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="stringliteral">&quot;Lshift_%=: \n\t&quot;</span></div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <span class="stringliteral">&quot; lsr %[i] \n\t&quot;</span></div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="stringliteral">&quot; subi %[i], 96 \n\t&quot;</span></div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160;</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="stringliteral">&quot;Ldone_%=: \n\t&quot;</span></div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160;</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; : [i] <span class="stringliteral">&quot;+a&quot;</span> (i)</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; :</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; : <span class="stringliteral">&quot;r0&quot;</span>, <span class="stringliteral">&quot;r1&quot;</span></div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; );</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="keywordflow">return</span> i;</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160;}</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160;<span class="preprocessor">#error &quot;No implementation for ease8 available.&quot;</span></div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160;</div>
+<div class="line"><a name="l00579"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga3fa6d71702477e71d7c0dd864eb1d568"> 579</a></span>&#160;LIB8STATIC <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> <a class="code" href="group__lib8tion.html#ga3fa6d71702477e71d7c0dd864eb1d568">ease8InOutCubic</a>( <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> i)</div>
+<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160;{</div>
+<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; uint8_t ii = <a class="code" href="group___scaling.html#ga39579fcf09743f15545fe0b831ca313c">scale8_LEAVING_R1_DIRTY</a>( i, i);</div>
+<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; uint8_t iii = <a class="code" href="group___scaling.html#ga39579fcf09743f15545fe0b831ca313c">scale8_LEAVING_R1_DIRTY</a>( ii, i);</div>
+<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160;</div>
+<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; uint16_t r1 = (3 * (uint16_t)(ii)) - ( 2 * (uint16_t)(iii));</div>
+<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160;</div>
+<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="comment">/* the code generated for the above *&#39;s automatically</span></div>
+<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160;<span class="comment"> cleans up R1, so there&#39;s no need to explicitily call</span></div>
+<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160;<span class="comment"> cleanup_R1(); */</span></div>
+<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160;</div>
+<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; uint8_t result = r1;</div>
+<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160;</div>
+<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <span class="comment">// if we got &quot;256&quot;, return 255:</span></div>
+<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <span class="keywordflow">if</span>( r1 &amp; 0x100 ) {</div>
+<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; result = 255;</div>
+<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; }</div>
+<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keywordflow">return</span> result;</div>
+<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160;}</div>
+<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160;</div>
+<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160;</div>
+<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160;<span class="preprocessor">#if EASE8_C == 1</span></div>
+<div class="line"><a name="l00608"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gaa041cdbb17f073dbd352fcae6962dc23"> 608</a></span>&#160;LIB8STATIC <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> <a class="code" href="group__lib8tion.html#gaa041cdbb17f073dbd352fcae6962dc23">ease8InOutApprox</a>( <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> i)</div>
+<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160;{</div>
+<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <span class="keywordflow">if</span>( i &lt; 64) {</div>
+<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="comment">// start with slope 0.5</span></div>
+<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; i /= 2;</div>
+<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span>( i &gt; (255 - 64)) {</div>
+<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <span class="comment">// end with slope 0.5</span></div>
+<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; i = 255 - i;</div>
+<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; i /= 2;</div>
+<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; i = 255 - i;</div>
+<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; <span class="comment">// in the middle, use slope 192/128 = 1.5</span></div>
+<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; i -= 64;</div>
+<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; i += (i / 2);</div>
+<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; i += 32;</div>
+<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; }</div>
+<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160;</div>
+<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; <span class="keywordflow">return</span> i;</div>
+<div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160;}</div>
+<div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160;</div>
+<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160;<span class="preprocessor">#elif EASE8_AVRASM == 1</span></div>
+<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160;LIB8STATIC uint8_t <a class="code" href="group__lib8tion.html#gaa041cdbb17f073dbd352fcae6962dc23">ease8InOutApprox</a>( <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> i)</div>
+<div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160;{</div>
+<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <span class="comment">// takes around 7 cycles on AVR</span></div>
+<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <span class="keyword">asm</span> <span class="keyword">volatile</span> (</div>
+<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; <span class="stringliteral">&quot; subi %[i], 64 \n\t&quot;</span></div>
+<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <span class="stringliteral">&quot; cpi %[i], 128 \n\t&quot;</span></div>
+<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="stringliteral">&quot; brcc Lshift_%= \n\t&quot;</span></div>
+<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160;</div>
+<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="comment">// middle case</span></div>
+<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <span class="stringliteral">&quot; mov __tmp_reg__, %[i] \n\t&quot;</span></div>
+<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="stringliteral">&quot; lsr __tmp_reg__ \n\t&quot;</span></div>
+<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; <span class="stringliteral">&quot; add %[i], __tmp_reg__ \n\t&quot;</span></div>
+<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="stringliteral">&quot; subi %[i], 224 \n\t&quot;</span></div>
+<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <span class="stringliteral">&quot; rjmp Ldone_%= \n\t&quot;</span></div>
+<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160;</div>
+<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <span class="comment">// start or end case</span></div>
+<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="stringliteral">&quot;Lshift_%=: \n\t&quot;</span></div>
+<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; <span class="stringliteral">&quot; lsr %[i] \n\t&quot;</span></div>
+<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <span class="stringliteral">&quot; subi %[i], 96 \n\t&quot;</span></div>
+<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160;</div>
+<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; <span class="stringliteral">&quot;Ldone_%=: \n\t&quot;</span></div>
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160;</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160;</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160;</div>
-<div class="line"><a name="l00663"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gae9e011ff745ade1164ae77b0ef62bfac"> 663</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group__lib8tion.html#gae9e011ff745ade1164ae77b0ef62bfac">triwave8</a>(uint8_t in)</div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160;{</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; <span class="keywordflow">if</span>( in &amp; 0x80) {</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; in = 255 - in;</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; }</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; uint8_t out = in &lt;&lt; 1;</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; <span class="keywordflow">return</span> out;</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160;}</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160;</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160;</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160;<span class="comment">// quadwave8 and cubicwave8: S-shaped wave generators (like &#39;sine&#39;).</span></div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160;<span class="comment">// Useful for turning a one-byte &#39;counter&#39; value into a</span></div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160;<span class="comment">// one-byte oscillating value that moves smoothly up and down,</span></div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160;<span class="comment">// with an &#39;acceleration&#39; and &#39;deceleration&#39; curve.</span></div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160;<span class="comment">//</span></div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160;<span class="comment">// These are even faster than &#39;sin8&#39;, and have</span></div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160;<span class="comment">// slightly different curve shapes.</span></div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; : [i] <span class="stringliteral">&quot;+a&quot;</span> (i)</div>
+<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; :</div>
+<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; : <span class="stringliteral">&quot;r0&quot;</span>, <span class="stringliteral">&quot;r1&quot;</span></div>
+<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; );</div>
+<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <span class="keywordflow">return</span> i;</div>
+<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160;}</div>
+<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160;<span class="preprocessor">#error &quot;No implementation for ease8 available.&quot;</span></div>
+<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160;</div>
+<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160;</div>
+<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160;</div>
+<div class="line"><a name="l00673"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gae9e011ff745ade1164ae77b0ef62bfac"> 673</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group__lib8tion.html#gae9e011ff745ade1164ae77b0ef62bfac">triwave8</a>(uint8_t in)</div>
+<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160;{</div>
+<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; <span class="keywordflow">if</span>( in &amp; 0x80) {</div>
+<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; in = 255 - in;</div>
+<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; }</div>
+<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; uint8_t out = in &lt;&lt; 1;</div>
+<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <span class="keywordflow">return</span> out;</div>
+<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160;}</div>
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160;</div>
-<div class="line"><a name="l00684"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga209d6cbdb109cc3139e7bb1e46c6228f"> 684</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group__lib8tion.html#ga209d6cbdb109cc3139e7bb1e46c6228f">quadwave8</a>(uint8_t in)</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160;{</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; <span class="keywordflow">return</span> <a class="code" href="group__lib8tion.html#ga381449070b2d6bfba356f87881ab28c0">ease8InOutQuad</a>( <a class="code" href="group__lib8tion.html#gae9e011ff745ade1164ae77b0ef62bfac">triwave8</a>( in));</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160;}</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160;</div>
-<div class="line"><a name="l00691"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga06b04a0cf955ec107d49b76e0cb35225"> 691</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group__lib8tion.html#ga06b04a0cf955ec107d49b76e0cb35225">cubicwave8</a>(uint8_t in)</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160;{</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <span class="keywordflow">return</span> <a class="code" href="group__lib8tion.html#ga3fa6d71702477e71d7c0dd864eb1d568">ease8InOutCubic</a>( <a class="code" href="group__lib8tion.html#gae9e011ff745ade1164ae77b0ef62bfac">triwave8</a>( in));</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160;}</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160;</div>
-<div class="line"><a name="l00720"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga17ae8fcfd9c485bb1120d908f836637a"> 720</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group__lib8tion.html#ga17ae8fcfd9c485bb1120d908f836637a">squarewave8</a>( uint8_t in, uint8_t pulsewidth=128)</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160;{</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; <span class="keywordflow">if</span>( in &lt; pulsewidth || (pulsewidth == 255)) {</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; <span class="keywordflow">return</span> 255;</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; }</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160;}</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160;</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160;</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160;</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160;</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160;</div>
-<div class="line"><a name="l00733"></a><span class="lineno"><a class="line" href="classq.html"> 733</a></span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> F, <span class="keywordtype">int</span> I&gt; <span class="keyword">class </span><a class="code" href="classq.html">q</a> {</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; T i:I;</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; T f:F;</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; <a class="code" href="classq.html">q</a>(<span class="keywordtype">float</span> fx) { i = fx; f = (fx-i) * (1&lt;&lt;F); }</div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; <a class="code" href="classq.html">q</a>(uint8_t _i, uint8_t _f) {i=_i; f=_f; }</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; uint32_t operator*(uint32_t v) { <span class="keywordflow">return</span> (v*i) + ((v*f)&gt;&gt;F); }</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; uint16_t operator*(uint16_t v) { <span class="keywordflow">return</span> (v*i) + ((v*f)&gt;&gt;F); }</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; int32_t operator*(int32_t v) { <span class="keywordflow">return</span> (v*i) + ((v*f)&gt;&gt;F); }</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; int16_t operator*(int16_t v) { <span class="keywordflow">return</span> (v*i) + ((v*f)&gt;&gt;F); }</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160;<span class="preprocessor">#ifdef FASTLED_ARM</span></div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; <span class="keywordtype">int</span> operator*(<span class="keywordtype">int</span> v) { <span class="keywordflow">return</span> (v*i) + ((v*f)&gt;&gt;F); }</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160;};</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160;</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> F, <span class="keywordtype">int</span> I&gt; <span class="keyword">static</span> uint32_t operator*(uint32_t v, <a class="code" href="classq.html">q&lt;T,F,I&gt;</a> &amp; <a class="code" href="classq.html">q</a>) { <span class="keywordflow">return</span> q * v; }</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> F, <span class="keywordtype">int</span> I&gt; <span class="keyword">static</span> uint16_t operator*(uint16_t v, <a class="code" href="classq.html">q&lt;T,F,I&gt;</a> &amp; <a class="code" href="classq.html">q</a>) { <span class="keywordflow">return</span> q * v; }</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> F, <span class="keywordtype">int</span> I&gt; <span class="keyword">static</span> int32_t operator*(int32_t v, <a class="code" href="classq.html">q&lt;T,F,I&gt;</a> &amp; <a class="code" href="classq.html">q</a>) { <span class="keywordflow">return</span> q * v; }</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> F, <span class="keywordtype">int</span> I&gt; <span class="keyword">static</span> int16_t operator*(int16_t v, <a class="code" href="classq.html">q&lt;T,F,I&gt;</a> &amp; <a class="code" href="classq.html">q</a>) { <span class="keywordflow">return</span> q * v; }</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160;<span class="preprocessor">#ifdef FASTLED_ARM</span></div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> F, <span class="keywordtype">int</span> I&gt; <span class="keyword">static</span> <span class="keywordtype">int</span> operator*(<span class="keywordtype">int</span> v, <a class="code" href="classq.html">q&lt;T,F,I&gt;</a> &amp; <a class="code" href="classq.html">q</a>) { <span class="keywordflow">return</span> q * v; }</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160;</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classq.html">q&lt;uint8_t, 4,4&gt;</a> <a class="code" href="classq.html">q44</a>;</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classq.html">q&lt;uint8_t, 6,2&gt;</a> <a class="code" href="classq.html">q62</a>;</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classq.html">q&lt;uint16_t, 8,8&gt;</a> <a class="code" href="classq.html">q88</a>;</div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classq.html">q&lt;uint16_t, 12,4&gt;</a> <a class="code" href="classq.html">q124</a>;</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160;</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160;</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160;</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160;<span class="comment">// Beat generators - These functions produce waves at a given</span></div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160;<span class="comment">// number of &#39;beats per minute&#39;. Internally, they use</span></div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160;<span class="comment">// the Arduino function &#39;millis&#39; to track elapsed time.</span></div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160;<span class="comment">// Accuracy is a bit better than one part in a thousand.</span></div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160;<span class="comment">//</span></div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160;<span class="comment">// beat8( BPM ) returns an 8-bit value that cycles &#39;BPM&#39; times</span></div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160;<span class="comment">// per minute, rising from 0 to 255, resetting to zero,</span></div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160;<span class="comment">// rising up again, etc.. The output of this function</span></div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160;<span class="comment">// is suitable for feeding directly into sin8, and cos8,</span></div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160;<span class="comment">// triwave8, quadwave8, and cubicwave8.</span></div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160;<span class="comment">// beat16( BPM ) returns a 16-bit value that cycles &#39;BPM&#39; times</span></div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160;<span class="comment">// per minute, rising from 0 to 65535, resetting to zero,</span></div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160;<span class="comment">// rising up again, etc. The output of this function is</span></div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160;<span class="comment">// suitable for feeding directly into sin16 and cos16.</span></div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160;<span class="comment">// beat88( BPM88) is the same as beat16, except that the BPM88 argument</span></div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160;<span class="comment">// MUST be in Q8.8 fixed point format, e.g. 120BPM must</span></div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160;<span class="comment">// be specified as 120*256 = 30720.</span></div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160;<span class="comment">// beatsin8( BPM, uint8_t low, uint8_t high) returns an 8-bit value that</span></div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160;<span class="comment">// rises and falls in a sine wave, &#39;BPM&#39; times per minute,</span></div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160;<span class="comment">// between the values of &#39;low&#39; and &#39;high&#39;.</span></div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160;<span class="comment">// beatsin16( BPM, uint16_t low, uint16_t high) returns a 16-bit value</span></div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160;<span class="comment">// that rises and falls in a sine wave, &#39;BPM&#39; times per</span></div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160;<span class="comment">// minute, between the values of &#39;low&#39; and &#39;high&#39;.</span></div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160;<span class="comment">// beatsin88( BPM88, ...) is the same as beatsin16, except that the</span></div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160;<span class="comment">// BPM88 argument MUST be in Q8.8 fixed point format,</span></div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160;<span class="comment">// e.g. 120BPM must be specified as 120*256 = 30720.</span></div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160;<span class="comment">//</span></div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160;<span class="comment">// BPM can be supplied two ways. The simpler way of specifying BPM is as</span></div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160;<span class="comment">// a simple 8-bit integer from 1-255, (e.g., &quot;120&quot;).</span></div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160;<span class="comment">// The more sophisticated way of specifying BPM allows for fractional</span></div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160;<span class="comment">// &quot;Q8.8&quot; fixed point number (an &#39;accum88&#39;) with an 8-bit integer part and</span></div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160;<span class="comment">// an 8-bit fractional part. The easiest way to construct this is to multiply</span></div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160;<span class="comment">// a floating point BPM value (e.g. 120.3) by 256, (e.g. resulting in 30796</span></div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160;<span class="comment">// in this case), and pass that as the 16-bit BPM argument.</span></div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160;<span class="comment">// &quot;BPM88&quot; MUST always be specified in Q8.8 format.</span></div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160;<span class="comment">//</span></div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160;<span class="comment">// Originally designed to make an entire animation project pulse with brightness.</span></div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160;<span class="comment">// For that effect, add this line just above your existing call to &quot;FastLED.show()&quot;:</span></div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160;<span class="comment">//</span></div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160;<span class="comment">// uint8_t bright = beatsin8( 60 /*BPM*/, 192 /*dimmest*/, 255 /*brightest*/ ));</span></div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160;<span class="comment">// FastLED.setBrightness( bright );</span></div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160;<span class="comment">// FastLED.show();</span></div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160;<span class="comment">//</span></div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160;<span class="comment">// The entire animation will now pulse between brightness 192 and 255 once per second.</span></div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160;</div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160;</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160;<span class="comment">// The beat generators need access to a millisecond counter.</span></div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160;<span class="comment">// On Arduino, this is &quot;millis()&quot;. On other platforms, you&#39;ll</span></div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160;<span class="comment">// need to provide a function with this signature:</span></div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160;<span class="comment">// uint32_t get_millisecond_timer();</span></div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160;<span class="comment">// that provides similar functionality.</span></div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160;<span class="comment">// You can also force use of the get_millisecond_timer function</span></div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160;<span class="comment">// by #defining USE_GET_MILLISECOND_TIMER.</span></div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160;<span class="preprocessor">#if (defined(ARDUINO) || defined(SPARK)) &amp;&amp; !defined(USE_GET_MILLISECOND_TIMER)</span></div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160;<span class="comment">// Forward declaration of Arduino function &#39;millis&#39;.</span></div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160;uint32_t millis();</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160;<span class="preprocessor">#define GET_MILLIS millis</span></div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160;uint32_t get_millisecond_timer();</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160;<span class="preprocessor">#define GET_MILLIS get_millisecond_timer</span></div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160;</div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160;<span class="comment">// beat16 generates a 16-bit &#39;sawtooth&#39; wave at a given BPM,</span></div>
-<div class="line"><a name="l00830"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga1b48fc520db5f40910caf79974992395"> 830</a></span>&#160;<span class="comment"></span>LIB8STATIC uint16_t <a class="code" href="group__lib8tion.html#ga1b48fc520db5f40910caf79974992395">beat88</a>( accum88 beats_per_minute_88, uint32_t timebase = 0)</div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160;{</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; <span class="comment">// BPM is &#39;beats per minute&#39;, or &#39;beats per 60000ms&#39;.</span></div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; <span class="comment">// To avoid using the (slower) division operator, we</span></div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; <span class="comment">// want to convert &#39;beats per 60000ms&#39; to &#39;beats per 65536ms&#39;,</span></div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; <span class="comment">// and then use a simple, fast bit-shift to divide by 65536.</span></div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; <span class="comment">//</span></div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; <span class="comment">// The ratio 65536:60000 is 279.620266667:256; we&#39;ll call it 280:256.</span></div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; <span class="comment">// The conversion is accurate to about 0.05%, more or less,</span></div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; <span class="comment">// e.g. if you ask for &quot;120 BPM&quot;, you&#39;ll get about &quot;119.93&quot;.</span></div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; <span class="keywordflow">return</span> (((GET_MILLIS()) - timebase) * beats_per_minute_88 * 280) &gt;&gt; 16;</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160;}</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160;</div>
-<div class="line"><a name="l00844"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gade6acbf6fd3c9d346148bccfcafb2fe2"> 844</a></span>&#160;LIB8STATIC uint16_t <a class="code" href="group__lib8tion.html#gade6acbf6fd3c9d346148bccfcafb2fe2">beat16</a>( accum88 beats_per_minute, uint32_t timebase = 0)</div>
+<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160;</div>
+<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160;<span class="comment">// quadwave8 and cubicwave8: S-shaped wave generators (like &#39;sine&#39;).</span></div>
+<div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160;<span class="comment">// Useful for turning a one-byte &#39;counter&#39; value into a</span></div>
+<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160;<span class="comment">// one-byte oscillating value that moves smoothly up and down,</span></div>
+<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160;<span class="comment">// with an &#39;acceleration&#39; and &#39;deceleration&#39; curve.</span></div>
+<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160;<span class="comment">// These are even faster than &#39;sin8&#39;, and have</span></div>
+<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160;<span class="comment">// slightly different curve shapes.</span></div>
+<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160;</div>
+<div class="line"><a name="l00694"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga209d6cbdb109cc3139e7bb1e46c6228f"> 694</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group__lib8tion.html#ga209d6cbdb109cc3139e7bb1e46c6228f">quadwave8</a>(uint8_t in)</div>
+<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160;{</div>
+<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">return</span> <a class="code" href="group__lib8tion.html#ga381449070b2d6bfba356f87881ab28c0">ease8InOutQuad</a>( <a class="code" href="group__lib8tion.html#gae9e011ff745ade1164ae77b0ef62bfac">triwave8</a>( in));</div>
+<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160;}</div>
+<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160;</div>
+<div class="line"><a name="l00701"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga06b04a0cf955ec107d49b76e0cb35225"> 701</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group__lib8tion.html#ga06b04a0cf955ec107d49b76e0cb35225">cubicwave8</a>(uint8_t in)</div>
+<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160;{</div>
+<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; <span class="keywordflow">return</span> <a class="code" href="group__lib8tion.html#ga3fa6d71702477e71d7c0dd864eb1d568">ease8InOutCubic</a>( <a class="code" href="group__lib8tion.html#gae9e011ff745ade1164ae77b0ef62bfac">triwave8</a>( in));</div>
+<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160;}</div>
+<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160;</div>
+<div class="line"><a name="l00730"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga17ae8fcfd9c485bb1120d908f836637a"> 730</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group__lib8tion.html#ga17ae8fcfd9c485bb1120d908f836637a">squarewave8</a>( uint8_t in, uint8_t pulsewidth=128)</div>
+<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160;{</div>
+<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; <span class="keywordflow">if</span>( in &lt; pulsewidth || (pulsewidth == 255)) {</div>
+<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; <span class="keywordflow">return</span> 255;</div>
+<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; }</div>
+<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160;}</div>
+<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;</div>
+<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160;</div>
+<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160;</div>
+<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160;</div>
+<div class="line"><a name="l00743"></a><span class="lineno"><a class="line" href="classq.html"> 743</a></span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> F, <span class="keywordtype">int</span> I&gt; <span class="keyword">class </span><a class="code" href="classq.html">q</a> {</div>
+<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; T i:I;</div>
+<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; T f:F;</div>
+<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <a class="code" href="classq.html">q</a>(<span class="keywordtype">float</span> fx) { i = fx; f = (fx-i) * (1&lt;&lt;F); }</div>
+<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <a class="code" href="classq.html">q</a>(uint8_t _i, uint8_t _f) {i=_i; f=_f; }</div>
+<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; uint32_t operator*(uint32_t v) { <span class="keywordflow">return</span> (v*i) + ((v*f)&gt;&gt;F); }</div>
+<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; uint16_t operator*(uint16_t v) { <span class="keywordflow">return</span> (v*i) + ((v*f)&gt;&gt;F); }</div>
+<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; int32_t operator*(int32_t v) { <span class="keywordflow">return</span> (v*i) + ((v*f)&gt;&gt;F); }</div>
+<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; int16_t operator*(int16_t v) { <span class="keywordflow">return</span> (v*i) + ((v*f)&gt;&gt;F); }</div>
+<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160;<span class="preprocessor">#ifdef FASTLED_ARM</span></div>
+<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; <span class="keywordtype">int</span> operator*(<span class="keywordtype">int</span> v) { <span class="keywordflow">return</span> (v*i) + ((v*f)&gt;&gt;F); }</div>
+<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160;};</div>
+<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160;</div>
+<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> F, <span class="keywordtype">int</span> I&gt; <span class="keyword">static</span> uint32_t operator*(uint32_t v, <a class="code" href="classq.html">q&lt;T,F,I&gt;</a> &amp; <a class="code" href="classq.html">q</a>) { <span class="keywordflow">return</span> q * v; }</div>
+<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> F, <span class="keywordtype">int</span> I&gt; <span class="keyword">static</span> uint16_t operator*(uint16_t v, <a class="code" href="classq.html">q&lt;T,F,I&gt;</a> &amp; <a class="code" href="classq.html">q</a>) { <span class="keywordflow">return</span> q * v; }</div>
+<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> F, <span class="keywordtype">int</span> I&gt; <span class="keyword">static</span> int32_t operator*(int32_t v, <a class="code" href="classq.html">q&lt;T,F,I&gt;</a> &amp; <a class="code" href="classq.html">q</a>) { <span class="keywordflow">return</span> q * v; }</div>
+<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> F, <span class="keywordtype">int</span> I&gt; <span class="keyword">static</span> int16_t operator*(int16_t v, <a class="code" href="classq.html">q&lt;T,F,I&gt;</a> &amp; <a class="code" href="classq.html">q</a>) { <span class="keywordflow">return</span> q * v; }</div>
+<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160;<span class="preprocessor">#ifdef FASTLED_ARM</span></div>
+<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> F, <span class="keywordtype">int</span> I&gt; <span class="keyword">static</span> <span class="keywordtype">int</span> operator*(<span class="keywordtype">int</span> v, <a class="code" href="classq.html">q&lt;T,F,I&gt;</a> &amp; <a class="code" href="classq.html">q</a>) { <span class="keywordflow">return</span> q * v; }</div>
+<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160;</div>
+<div class="line"><a name="l00767"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga85082c3ed8843d32076222e82d72f80d"> 767</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="classq.html">q&lt;uint8_t, 4,4&gt;</a> <a class="code" href="group__lib8tion.html#ga85082c3ed8843d32076222e82d72f80d">q44</a>;</div>
+<div class="line"><a name="l00769"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gafea4166e233d92817eada7203021089a"> 769</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="classq.html">q&lt;uint8_t, 6,2&gt;</a> <a class="code" href="group__lib8tion.html#gafea4166e233d92817eada7203021089a">q62</a>;</div>
+<div class="line"><a name="l00771"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gad5dca0e1248b916799dde6dc44ef369b"> 771</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="classq.html">q&lt;uint16_t, 8,8&gt;</a> <a class="code" href="group__lib8tion.html#gad5dca0e1248b916799dde6dc44ef369b">q88</a>;</div>
+<div class="line"><a name="l00773"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga0f02a1da674754f48c5f89c1610e118c"> 773</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="classq.html">q&lt;uint16_t, 12,4&gt;</a> <a class="code" href="group__lib8tion.html#ga0f02a1da674754f48c5f89c1610e118c">q124</a>;</div>
+<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160;</div>
+<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160;</div>
+<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160;</div>
+<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160;<span class="comment">// Beat generators - These functions produce waves at a given</span></div>
+<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160;<span class="comment">// number of &#39;beats per minute&#39;. Internally, they use</span></div>
+<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160;<span class="comment">// the Arduino function &#39;millis&#39; to track elapsed time.</span></div>
+<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160;<span class="comment">// Accuracy is a bit better than one part in a thousand.</span></div>
+<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160;<span class="comment">// beat8( BPM ) returns an 8-bit value that cycles &#39;BPM&#39; times</span></div>
+<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160;<span class="comment">// per minute, rising from 0 to 255, resetting to zero,</span></div>
+<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160;<span class="comment">// rising up again, etc.. The output of this function</span></div>
+<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160;<span class="comment">// is suitable for feeding directly into sin8, and cos8,</span></div>
+<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160;<span class="comment">// triwave8, quadwave8, and cubicwave8.</span></div>
+<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160;<span class="comment">// beat16( BPM ) returns a 16-bit value that cycles &#39;BPM&#39; times</span></div>
+<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160;<span class="comment">// per minute, rising from 0 to 65535, resetting to zero,</span></div>
+<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160;<span class="comment">// rising up again, etc. The output of this function is</span></div>
+<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160;<span class="comment">// suitable for feeding directly into sin16 and cos16.</span></div>
+<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160;<span class="comment">// beat88( BPM88) is the same as beat16, except that the BPM88 argument</span></div>
+<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160;<span class="comment">// MUST be in Q8.8 fixed point format, e.g. 120BPM must</span></div>
+<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160;<span class="comment">// be specified as 120*256 = 30720.</span></div>
+<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160;<span class="comment">// beatsin8( BPM, uint8_t low, uint8_t high) returns an 8-bit value that</span></div>
+<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160;<span class="comment">// rises and falls in a sine wave, &#39;BPM&#39; times per minute,</span></div>
+<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160;<span class="comment">// between the values of &#39;low&#39; and &#39;high&#39;.</span></div>
+<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160;<span class="comment">// beatsin16( BPM, uint16_t low, uint16_t high) returns a 16-bit value</span></div>
+<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160;<span class="comment">// that rises and falls in a sine wave, &#39;BPM&#39; times per</span></div>
+<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160;<span class="comment">// minute, between the values of &#39;low&#39; and &#39;high&#39;.</span></div>
+<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160;<span class="comment">// beatsin88( BPM88, ...) is the same as beatsin16, except that the</span></div>
+<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160;<span class="comment">// BPM88 argument MUST be in Q8.8 fixed point format,</span></div>
+<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160;<span class="comment">// e.g. 120BPM must be specified as 120*256 = 30720.</span></div>
+<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160;<span class="comment">// BPM can be supplied two ways. The simpler way of specifying BPM is as</span></div>
+<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160;<span class="comment">// a simple 8-bit integer from 1-255, (e.g., &quot;120&quot;).</span></div>
+<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160;<span class="comment">// The more sophisticated way of specifying BPM allows for fractional</span></div>
+<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160;<span class="comment">// &quot;Q8.8&quot; fixed point number (an &#39;accum88&#39;) with an 8-bit integer part and</span></div>
+<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160;<span class="comment">// an 8-bit fractional part. The easiest way to construct this is to multiply</span></div>
+<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160;<span class="comment">// a floating point BPM value (e.g. 120.3) by 256, (e.g. resulting in 30796</span></div>
+<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160;<span class="comment">// in this case), and pass that as the 16-bit BPM argument.</span></div>
+<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160;<span class="comment">// &quot;BPM88&quot; MUST always be specified in Q8.8 format.</span></div>
+<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160;<span class="comment">// Originally designed to make an entire animation project pulse with brightness.</span></div>
+<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160;<span class="comment">// For that effect, add this line just above your existing call to &quot;FastLED.show()&quot;:</span></div>
+<div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160;<span class="comment">// uint8_t bright = beatsin8( 60 /*BPM*/, 192 /*dimmest*/, 255 /*brightest*/ ));</span></div>
+<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160;<span class="comment">// FastLED.setBrightness( bright );</span></div>
+<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160;<span class="comment">// FastLED.show();</span></div>
+<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160;<span class="comment">// The entire animation will now pulse between brightness 192 and 255 once per second.</span></div>
+<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160;</div>
+<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160;</div>
+<div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160;<span class="comment">// The beat generators need access to a millisecond counter.</span></div>
+<div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160;<span class="comment">// On Arduino, this is &quot;millis()&quot;. On other platforms, you&#39;ll</span></div>
+<div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160;<span class="comment">// need to provide a function with this signature:</span></div>
+<div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160;<span class="comment">// uint32_t get_millisecond_timer();</span></div>
+<div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160;<span class="comment">// that provides similar functionality.</span></div>
+<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160;<span class="comment">// You can also force use of the get_millisecond_timer function</span></div>
+<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160;<span class="comment">// by #defining USE_GET_MILLISECOND_TIMER.</span></div>
+<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160;<span class="preprocessor">#if (defined(ARDUINO) || defined(SPARK)) &amp;&amp; !defined(USE_GET_MILLISECOND_TIMER)</span></div>
+<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160;<span class="comment">// Forward declaration of Arduino function &#39;millis&#39;.</span></div>
+<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160;uint32_t millis();</div>
+<div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160;<span class="preprocessor">#define GET_MILLIS millis</span></div>
+<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160;uint32_t get_millisecond_timer();</div>
+<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160;<span class="preprocessor">#define GET_MILLIS get_millisecond_timer</span></div>
+<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160;</div>
+<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160;<span class="comment">// beat16 generates a 16-bit &#39;sawtooth&#39; wave at a given BPM,</span></div>
+<div class="line"><a name="l00844"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga1b48fc520db5f40910caf79974992395"> 844</a></span>&#160;<span class="comment"></span>LIB8STATIC uint16_t <a class="code" href="group__lib8tion.html#ga1b48fc520db5f40910caf79974992395">beat88</a>( <a class="code" href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a">accum88</a> beats_per_minute_88, uint32_t timebase = 0)</div>
<div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160;{</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; <span class="comment">// Convert simple 8-bit BPM&#39;s to full Q8.8 accum88&#39;s if needed</span></div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="keywordflow">if</span>( beats_per_minute &lt; 256) beats_per_minute &lt;&lt;= 8;</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; <span class="keywordflow">return</span> <a class="code" href="group__lib8tion.html#ga1b48fc520db5f40910caf79974992395">beat88</a>(beats_per_minute, timebase);</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160;}</div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160;</div>
-<div class="line"><a name="l00852"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga12014943214a72eec31433d9682d4ebe"> 852</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group__lib8tion.html#ga12014943214a72eec31433d9682d4ebe">beat8</a>( accum88 beats_per_minute, uint32_t timebase = 0)</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160;{</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; <span class="keywordflow">return</span> <a class="code" href="group__lib8tion.html#gade6acbf6fd3c9d346148bccfcafb2fe2">beat16</a>( beats_per_minute, timebase) &gt;&gt; 8;</div>
+<div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; <span class="comment">// BPM is &#39;beats per minute&#39;, or &#39;beats per 60000ms&#39;.</span></div>
+<div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="comment">// To avoid using the (slower) division operator, we</span></div>
+<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; <span class="comment">// want to convert &#39;beats per 60000ms&#39; to &#39;beats per 65536ms&#39;,</span></div>
+<div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; <span class="comment">// and then use a simple, fast bit-shift to divide by 65536.</span></div>
+<div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; <span class="comment">//</span></div>
+<div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; <span class="comment">// The ratio 65536:60000 is 279.620266667:256; we&#39;ll call it 280:256.</span></div>
+<div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; <span class="comment">// The conversion is accurate to about 0.05%, more or less,</span></div>
+<div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; <span class="comment">// e.g. if you ask for &quot;120 BPM&quot;, you&#39;ll get about &quot;119.93&quot;.</span></div>
+<div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; <span class="keywordflow">return</span> (((GET_MILLIS()) - timebase) * beats_per_minute_88 * 280) &gt;&gt; 16;</div>
<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160;}</div>
<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160;</div>
-<div class="line"><a name="l00863"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gaf917825ff26c8e1174c5b674a2f3c631"> 863</a></span>&#160;LIB8STATIC uint16_t <a class="code" href="group__lib8tion.html#gaf917825ff26c8e1174c5b674a2f3c631">beatsin88</a>( accum88 beats_per_minute_88, uint16_t lowest = 0, uint16_t highest = 65535,</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; uint32_t timebase = 0, uint16_t phase_offset = 0)</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160;{</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; uint16_t beat = <a class="code" href="group__lib8tion.html#ga1b48fc520db5f40910caf79974992395">beat88</a>( beats_per_minute_88, timebase);</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; uint16_t beatsin = (sin16( beat + phase_offset) + 32768);</div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; uint16_t rangewidth = highest - lowest;</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; uint16_t scaledbeat = <a class="code" href="group___scaling.html#ga1ff8ac00ad78e22acc7bb7445bfdb145">scale16</a>( beatsin, rangewidth);</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; uint16_t result = lowest + scaledbeat;</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160;}</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160;</div>
-<div class="line"><a name="l00876"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gaa46e5de1c4c27833359e7a97a18c839b"> 876</a></span>&#160;LIB8STATIC uint16_t <a class="code" href="group__lib8tion.html#gaa46e5de1c4c27833359e7a97a18c839b">beatsin16</a>( accum88 beats_per_minute, uint16_t lowest = 0, uint16_t highest = 65535,</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; uint32_t timebase = 0, uint16_t phase_offset = 0)</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160;{</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; uint16_t beat = <a class="code" href="group__lib8tion.html#gade6acbf6fd3c9d346148bccfcafb2fe2">beat16</a>( beats_per_minute, timebase);</div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; uint16_t beatsin = (sin16( beat + phase_offset) + 32768);</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; uint16_t rangewidth = highest - lowest;</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; uint16_t scaledbeat = <a class="code" href="group___scaling.html#ga1ff8ac00ad78e22acc7bb7445bfdb145">scale16</a>( beatsin, rangewidth);</div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; uint16_t result = lowest + scaledbeat;</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160;}</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160;</div>
-<div class="line"><a name="l00889"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gaecd7cbfc2640407cabf75afcc7d9ddf4"> 889</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group__lib8tion.html#gaecd7cbfc2640407cabf75afcc7d9ddf4">beatsin8</a>( accum88 beats_per_minute, uint8_t lowest = 0, uint8_t highest = 255,</div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; uint32_t timebase = 0, uint8_t phase_offset = 0)</div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160;{</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; uint8_t beat = <a class="code" href="group__lib8tion.html#ga12014943214a72eec31433d9682d4ebe">beat8</a>( beats_per_minute, timebase);</div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; uint8_t beatsin = sin8( beat + phase_offset);</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; uint8_t rangewidth = highest - lowest;</div>
-<div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; uint8_t scaledbeat = <a class="code" href="group___scaling.html#ga6c160f8c36ce9b3c5eda68e4992010af">scale8</a>( beatsin, rangewidth);</div>
-<div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; uint8_t result = lowest + scaledbeat;</div>
-<div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160;}</div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160;</div>
+<div class="line"><a name="l00858"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gade6acbf6fd3c9d346148bccfcafb2fe2"> 858</a></span>&#160;LIB8STATIC uint16_t <a class="code" href="group__lib8tion.html#gade6acbf6fd3c9d346148bccfcafb2fe2">beat16</a>( <a class="code" href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a">accum88</a> beats_per_minute, uint32_t timebase = 0)</div>
+<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160;{</div>
+<div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; <span class="comment">// Convert simple 8-bit BPM&#39;s to full Q8.8 accum88&#39;s if needed</span></div>
+<div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; <span class="keywordflow">if</span>( beats_per_minute &lt; 256) beats_per_minute &lt;&lt;= 8;</div>
+<div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; <span class="keywordflow">return</span> <a class="code" href="group__lib8tion.html#ga1b48fc520db5f40910caf79974992395">beat88</a>(beats_per_minute, timebase);</div>
+<div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160;}</div>
+<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160;</div>
+<div class="line"><a name="l00866"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga12014943214a72eec31433d9682d4ebe"> 866</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group__lib8tion.html#ga12014943214a72eec31433d9682d4ebe">beat8</a>( <a class="code" href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a">accum88</a> beats_per_minute, uint32_t timebase = 0)</div>
+<div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160;{</div>
+<div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; <span class="keywordflow">return</span> <a class="code" href="group__lib8tion.html#gade6acbf6fd3c9d346148bccfcafb2fe2">beat16</a>( beats_per_minute, timebase) &gt;&gt; 8;</div>
+<div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160;}</div>
+<div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160;</div>
+<div class="line"><a name="l00877"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gaf917825ff26c8e1174c5b674a2f3c631"> 877</a></span>&#160;LIB8STATIC uint16_t <a class="code" href="group__lib8tion.html#gaf917825ff26c8e1174c5b674a2f3c631">beatsin88</a>( <a class="code" href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a">accum88</a> beats_per_minute_88, uint16_t lowest = 0, uint16_t highest = 65535,</div>
+<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; uint32_t timebase = 0, uint16_t phase_offset = 0)</div>
+<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160;{</div>
+<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; uint16_t beat = <a class="code" href="group__lib8tion.html#ga1b48fc520db5f40910caf79974992395">beat88</a>( beats_per_minute_88, timebase);</div>
+<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; uint16_t beatsin = (sin16( beat + phase_offset) + 32768);</div>
+<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; uint16_t rangewidth = highest - lowest;</div>
+<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; uint16_t scaledbeat = <a class="code" href="group___scaling.html#ga1ff8ac00ad78e22acc7bb7445bfdb145">scale16</a>( beatsin, rangewidth);</div>
+<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; uint16_t result = lowest + scaledbeat;</div>
+<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; <span class="keywordflow">return</span> result;</div>
+<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160;}</div>
+<div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160;</div>
+<div class="line"><a name="l00890"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gaa46e5de1c4c27833359e7a97a18c839b"> 890</a></span>&#160;LIB8STATIC uint16_t <a class="code" href="group__lib8tion.html#gaa46e5de1c4c27833359e7a97a18c839b">beatsin16</a>( <a class="code" href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a">accum88</a> beats_per_minute, uint16_t lowest = 0, uint16_t highest = 65535,</div>
+<div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; uint32_t timebase = 0, uint16_t phase_offset = 0)</div>
+<div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160;{</div>
+<div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; uint16_t beat = <a class="code" href="group__lib8tion.html#gade6acbf6fd3c9d346148bccfcafb2fe2">beat16</a>( beats_per_minute, timebase);</div>
+<div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; uint16_t beatsin = (sin16( beat + phase_offset) + 32768);</div>
+<div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; uint16_t rangewidth = highest - lowest;</div>
+<div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; uint16_t scaledbeat = <a class="code" href="group___scaling.html#ga1ff8ac00ad78e22acc7bb7445bfdb145">scale16</a>( beatsin, rangewidth);</div>
+<div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; uint16_t result = lowest + scaledbeat;</div>
+<div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; <span class="keywordflow">return</span> result;</div>
+<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160;}</div>
<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160;</div>
-<div class="line"><a name="l00903"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gaa2abcee2fe76fafd7f3a2aeab03e3b69"> 903</a></span>&#160;LIB8STATIC uint16_t <a class="code" href="group__lib8tion.html#gaa2abcee2fe76fafd7f3a2aeab03e3b69">seconds16</a>()</div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160;{</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; uint32_t ms = GET_MILLIS();</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; uint16_t s16;</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; s16 = ms / 1000;</div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; <span class="keywordflow">return</span> s16;</div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160;}</div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160;</div>
-<div class="line"><a name="l00913"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga223820399921e32ddf018a90223ff336"> 913</a></span>&#160;LIB8STATIC uint16_t <a class="code" href="group__lib8tion.html#ga223820399921e32ddf018a90223ff336">minutes16</a>()</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160;{</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; uint32_t ms = GET_MILLIS();</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; uint16_t m16;</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; m16 = (ms / (60000L)) &amp; 0xFFFF;</div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; <span class="keywordflow">return</span> m16;</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160;}</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160;</div>
-<div class="line"><a name="l00923"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga837f5a688998f3340994613944e47d41"> 923</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group__lib8tion.html#ga837f5a688998f3340994613944e47d41">hours8</a>()</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160;{</div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; uint32_t ms = GET_MILLIS();</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; uint8_t h8;</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; h8 = (ms / (3600000L)) &amp; 0xFF;</div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; <span class="keywordflow">return</span> h8;</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160;}</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160;</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160;</div>
-<div class="line"><a name="l00942"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga5f95d6e55b4986bd88f662528cef717e"> 942</a></span>&#160;LIB8STATIC uint16_t <a class="code" href="group__lib8tion.html#ga5f95d6e55b4986bd88f662528cef717e">div1024_32_16</a>( uint32_t in32)</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160;{</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; uint16_t out16;</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160;<span class="preprocessor">#if defined(__AVR__)</span></div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; <span class="keyword">asm</span> <span class="keyword">volatile</span> (</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; <span class="stringliteral">&quot; lsr %D[in] \n\t&quot;</span></div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; <span class="stringliteral">&quot; ror %C[in] \n\t&quot;</span></div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; <span class="stringliteral">&quot; ror %B[in] \n\t&quot;</span></div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; <span class="stringliteral">&quot; lsr %D[in] \n\t&quot;</span></div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; <span class="stringliteral">&quot; ror %C[in] \n\t&quot;</span></div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; <span class="stringliteral">&quot; ror %B[in] \n\t&quot;</span></div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; <span class="stringliteral">&quot; mov %B[out],%C[in] \n\t&quot;</span></div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; <span class="stringliteral">&quot; mov %A[out],%B[in] \n\t&quot;</span></div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; : [in] <span class="stringliteral">&quot;+r&quot;</span> (in32),</div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; [out] <span class="stringliteral">&quot;=r&quot;</span> (out16)</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; );</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; out16 = (in32 &gt;&gt; 10) &amp; 0xFFFF;</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; <span class="keywordflow">return</span> out16;</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160;}</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160;</div>
-<div class="line"><a name="l00967"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga52659d1994f2f21eb05080c97417e93b"> 967</a></span>&#160;LIB8STATIC uint16_t <a class="code" href="group__lib8tion.html#ga52659d1994f2f21eb05080c97417e93b">bseconds16</a>()</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160;{</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; uint32_t ms = GET_MILLIS();</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; uint16_t s16;</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; s16 = <a class="code" href="group__lib8tion.html#ga5f95d6e55b4986bd88f662528cef717e">div1024_32_16</a>( ms);</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; <span class="keywordflow">return</span> s16;</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160;}</div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160;</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160;</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160;<span class="comment">// Classes to implement &quot;Every N Milliseconds&quot;, &quot;Every N Seconds&quot;,</span></div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160;<span class="comment">// &quot;Every N Minutes&quot;, &quot;Every N Hours&quot;, and &quot;Every N BSeconds&quot;.</span></div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160;<span class="preprocessor">#if 1</span></div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160;<span class="preprocessor">#define INSTANTIATE_EVERY_N_TIME_PERIODS(NAME,TIMETYPE,TIMEGETTER) \</span></div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160;<span class="preprocessor">class NAME { \</span></div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160;<span class="preprocessor">public: \</span></div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160;<span class="preprocessor"> TIMETYPE mPrevTrigger; \</span></div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160;<span class="preprocessor"> TIMETYPE mPeriod; \</span></div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160;<span class="preprocessor"> \</span></div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160;<span class="preprocessor"> NAME() { reset(); mPeriod = 1; }; \</span></div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160;<span class="preprocessor"> NAME(TIMETYPE period) { reset(); setPeriod(period); }; \</span></div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160;<span class="preprocessor"> void setPeriod( TIMETYPE period) { mPeriod = period; }; \</span></div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160;<span class="preprocessor"> TIMETYPE getTime() { return (TIMETYPE)(TIMEGETTER()); }; \</span></div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160;<span class="preprocessor"> TIMETYPE getPeriod() { return mPeriod; }; \</span></div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160;<span class="preprocessor"> TIMETYPE getElapsed() { return getTime() - mPrevTrigger; } \</span></div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160;<span class="preprocessor"> TIMETYPE getRemaining() { return mPeriod - getElapsed(); } \</span></div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160;<span class="preprocessor"> TIMETYPE getLastTriggerTime() { return mPrevTrigger; } \</span></div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160;<span class="preprocessor"> bool ready() { \</span></div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160;<span class="preprocessor"> bool isReady = (getElapsed() &gt;= mPeriod); \</span></div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160;<span class="preprocessor"> if( isReady ) { reset(); } \</span></div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160;<span class="preprocessor"> return isReady; \</span></div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160;<span class="preprocessor"> } \</span></div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160;<span class="preprocessor"> void reset() { mPrevTrigger = getTime(); }; \</span></div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160;<span class="preprocessor"> void trigger() { mPrevTrigger = getTime() - mPeriod; }; \</span></div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;<span class="preprocessor"> \</span></div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;<span class="preprocessor"> operator bool() { return ready(); } \</span></div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;<span class="preprocessor">};</span></div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;INSTANTIATE_EVERY_N_TIME_PERIODS(<a class="code" href="class_c_every_n_time_periods.html">CEveryNMillis</a>,uint32_t,GET_MILLIS);</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;INSTANTIATE_EVERY_N_TIME_PERIODS(<a class="code" href="class_c_every_n_time_periods.html">CEveryNSeconds</a>,uint16_t,<a class="code" href="group__lib8tion.html#gaa2abcee2fe76fafd7f3a2aeab03e3b69">seconds16</a>);</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;INSTANTIATE_EVERY_N_TIME_PERIODS(<a class="code" href="class_c_every_n_time_periods.html">CEveryNBSeconds</a>,uint16_t,<a class="code" href="group__lib8tion.html#ga52659d1994f2f21eb05080c97417e93b">bseconds16</a>);</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;INSTANTIATE_EVERY_N_TIME_PERIODS(<a class="code" href="class_c_every_n_time_periods.html">CEveryNMinutes</a>,uint16_t,<a class="code" href="group__lib8tion.html#ga223820399921e32ddf018a90223ff336">minutes16</a>);</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;INSTANTIATE_EVERY_N_TIME_PERIODS(<a class="code" href="class_c_every_n_time_periods.html">CEveryNHours</a>,uint8_t,<a class="code" href="group__lib8tion.html#ga837f5a688998f3340994613944e47d41">hours8</a>);</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;</div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;<span class="comment">// Under C++11 rules, we would be allowed to use not-external</span></div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;<span class="comment">// -linkage-type symbols as template arguments,</span></div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;<span class="comment">// e.g., LIB8STATIC seconds16, and we&#39;d be able to use these</span></div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;<span class="comment">// templates as shown below.</span></div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;<span class="comment">// However, under C++03 rules, we cannot do that, and thus we</span></div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;<span class="comment">// have to resort to the preprocessor to &#39;instantiate&#39; &#39;templates&#39;,</span></div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;<span class="comment">// as handled above.</span></div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> timeType,timeType (*timeGetter)()&gt;</div>
-<div class="line"><a name="l01018"></a><span class="lineno"><a class="line" href="class_c_every_n_time_periods.html"> 1018</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_c_every_n_time_periods.html">CEveryNTimePeriods</a> {</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; timeType mPrevTrigger;</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160; timeType mPeriod;</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160; <a class="code" href="class_c_every_n_time_periods.html">CEveryNTimePeriods</a>() { reset(); mPeriod = 1; };</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160; <a class="code" href="class_c_every_n_time_periods.html">CEveryNTimePeriods</a>(timeType period) { reset(); setPeriod(period); };</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160; <span class="keywordtype">void</span> setPeriod( timeType period) { mPeriod = period; };</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160; timeType getTime() { <span class="keywordflow">return</span> (timeType)(timeGetter()); };</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160; timeType getPeriod() { <span class="keywordflow">return</span> mPeriod; };</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160; timeType getElapsed() { <span class="keywordflow">return</span> getTime() - mPrevTrigger; }</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160; timeType getRemaining() { <span class="keywordflow">return</span> mPeriod - getElapsed(); }</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160; timeType getLastTriggerTime() { <span class="keywordflow">return</span> mPrevTrigger; }</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160; <span class="keywordtype">bool</span> ready() {</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160; <span class="keywordtype">bool</span> isReady = (getElapsed() &gt;= mPeriod);</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160; <span class="keywordflow">if</span>( isReady ) { reset(); }</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; <span class="keywordflow">return</span> isReady;</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160; }</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160; <span class="keywordtype">void</span> reset() { mPrevTrigger = getTime(); };</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160; <span class="keywordtype">void</span> trigger() { mPrevTrigger = getTime() - mPeriod; };</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; <span class="keyword">operator</span> bool() { <span class="keywordflow">return</span> ready(); }</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;};</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;<span class="keyword">typedef</span> <a class="code" href="class_c_every_n_time_periods.html">CEveryNTimePeriods&lt;uint16_t,seconds16&gt;</a> <a class="code" href="class_c_every_n_time_periods.html">CEveryNSeconds</a>;</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;<span class="keyword">typedef</span> <a class="code" href="class_c_every_n_time_periods.html">CEveryNTimePeriods&lt;uint16_t,bseconds16&gt;</a> <a class="code" href="class_c_every_n_time_periods.html">CEveryNBSeconds</a>;</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;<span class="keyword">typedef</span> <a class="code" href="class_c_every_n_time_periods.html">CEveryNTimePeriods&lt;uint32_t,millis&gt;</a> <a class="code" href="class_c_every_n_time_periods.html">CEveryNMillis</a>;</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;<span class="keyword">typedef</span> <a class="code" href="class_c_every_n_time_periods.html">CEveryNTimePeriods&lt;uint16_t,minutes16&gt;</a> <a class="code" href="class_c_every_n_time_periods.html">CEveryNMinutes</a>;</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;<span class="keyword">typedef</span> <a class="code" href="class_c_every_n_time_periods.html">CEveryNTimePeriods&lt;uint8_t,hours8&gt;</a> <a class="code" href="class_c_every_n_time_periods.html">CEveryNHours</a>;</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;<span class="preprocessor">#define CONCAT_HELPER( x, y ) x##y</span></div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;<span class="preprocessor">#define CONCAT_MACRO( x, y ) CONCAT_HELPER( x, y )</span></div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;<span class="preprocessor">#define EVERY_N_MILLIS(N) EVERY_N_MILLIS_I(CONCAT_MACRO(PER, __COUNTER__ ),N)</span></div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;<span class="preprocessor">#define EVERY_N_MILLIS_I(NAME,N) static CEveryNMillis NAME(N); if( NAME )</span></div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;<span class="preprocessor">#define EVERY_N_SECONDS(N) EVERY_N_SECONDS_I(CONCAT_MACRO(PER, __COUNTER__ ),N)</span></div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;<span class="preprocessor">#define EVERY_N_SECONDS_I(NAME,N) static CEveryNSeconds NAME(N); if( NAME )</span></div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;<span class="preprocessor">#define EVERY_N_BSECONDS(N) EVERY_N_BSECONDS_I(CONCAT_MACRO(PER, __COUNTER__ ),N)</span></div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;<span class="preprocessor">#define EVERY_N_BSECONDS_I(NAME,N) static CEveryNBSeconds NAME(N); if( NAME )</span></div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;<span class="preprocessor">#define EVERY_N_MINUTES(N) EVERY_N_MINUTES_I(CONCAT_MACRO(PER, __COUNTER__ ),N)</span></div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;<span class="preprocessor">#define EVERY_N_MINUTES_I(NAME,N) static CEveryNMinutes NAME(N); if( NAME )</span></div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160;<span class="preprocessor">#define EVERY_N_HOURS(N) EVERY_N_HOURS_I(CONCAT_MACRO(PER, __COUNTER__ ),N)</span></div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;<span class="preprocessor">#define EVERY_N_HOURS_I(NAME,N) static CEveryNHours NAME(N); if( NAME )</span></div>
+<div class="line"><a name="l00903"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gaecd7cbfc2640407cabf75afcc7d9ddf4"> 903</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group__lib8tion.html#gaecd7cbfc2640407cabf75afcc7d9ddf4">beatsin8</a>( <a class="code" href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a">accum88</a> beats_per_minute, uint8_t lowest = 0, uint8_t highest = 255,</div>
+<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; uint32_t timebase = 0, uint8_t phase_offset = 0)</div>
+<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160;{</div>
+<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; uint8_t beat = <a class="code" href="group__lib8tion.html#ga12014943214a72eec31433d9682d4ebe">beat8</a>( beats_per_minute, timebase);</div>
+<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; uint8_t beatsin = sin8( beat + phase_offset);</div>
+<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; uint8_t rangewidth = highest - lowest;</div>
+<div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; uint8_t scaledbeat = <a class="code" href="group___scaling.html#ga6c160f8c36ce9b3c5eda68e4992010af">scale8</a>( beatsin, rangewidth);</div>
+<div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; uint8_t result = lowest + scaledbeat;</div>
+<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; <span class="keywordflow">return</span> result;</div>
+<div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160;}</div>
+<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160;</div>
+<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160;</div>
+<div class="line"><a name="l00917"></a><span class="lineno"><a class="line" href="group__lib8tion.html#gaa2abcee2fe76fafd7f3a2aeab03e3b69"> 917</a></span>&#160;LIB8STATIC uint16_t <a class="code" href="group__lib8tion.html#gaa2abcee2fe76fafd7f3a2aeab03e3b69">seconds16</a>()</div>
+<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160;{</div>
+<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; uint32_t ms = GET_MILLIS();</div>
+<div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; uint16_t s16;</div>
+<div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; s16 = ms / 1000;</div>
+<div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; <span class="keywordflow">return</span> s16;</div>
+<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160;}</div>
+<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160;</div>
+<div class="line"><a name="l00927"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga223820399921e32ddf018a90223ff336"> 927</a></span>&#160;LIB8STATIC uint16_t <a class="code" href="group__lib8tion.html#ga223820399921e32ddf018a90223ff336">minutes16</a>()</div>
+<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160;{</div>
+<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; uint32_t ms = GET_MILLIS();</div>
+<div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; uint16_t m16;</div>
+<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; m16 = (ms / (60000L)) &amp; 0xFFFF;</div>
+<div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; <span class="keywordflow">return</span> m16;</div>
+<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160;}</div>
+<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160;</div>
+<div class="line"><a name="l00937"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga837f5a688998f3340994613944e47d41"> 937</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group__lib8tion.html#ga837f5a688998f3340994613944e47d41">hours8</a>()</div>
+<div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160;{</div>
+<div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; uint32_t ms = GET_MILLIS();</div>
+<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; uint8_t h8;</div>
+<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; h8 = (ms / (3600000L)) &amp; 0xFF;</div>
+<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; <span class="keywordflow">return</span> h8;</div>
+<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160;}</div>
+<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160;</div>
+<div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160;</div>
+<div class="line"><a name="l00956"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga5f95d6e55b4986bd88f662528cef717e"> 956</a></span>&#160;LIB8STATIC uint16_t <a class="code" href="group__lib8tion.html#ga5f95d6e55b4986bd88f662528cef717e">div1024_32_16</a>( uint32_t in32)</div>
+<div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160;{</div>
+<div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; uint16_t out16;</div>
+<div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160;<span class="preprocessor">#if defined(__AVR__)</span></div>
+<div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; <span class="keyword">asm</span> <span class="keyword">volatile</span> (</div>
+<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; <span class="stringliteral">&quot; lsr %D[in] \n\t&quot;</span></div>
+<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; <span class="stringliteral">&quot; ror %C[in] \n\t&quot;</span></div>
+<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; <span class="stringliteral">&quot; ror %B[in] \n\t&quot;</span></div>
+<div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; <span class="stringliteral">&quot; lsr %D[in] \n\t&quot;</span></div>
+<div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; <span class="stringliteral">&quot; ror %C[in] \n\t&quot;</span></div>
+<div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; <span class="stringliteral">&quot; ror %B[in] \n\t&quot;</span></div>
+<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; <span class="stringliteral">&quot; mov %B[out],%C[in] \n\t&quot;</span></div>
+<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; <span class="stringliteral">&quot; mov %A[out],%B[in] \n\t&quot;</span></div>
+<div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; : [in] <span class="stringliteral">&quot;+r&quot;</span> (in32),</div>
+<div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; [out] <span class="stringliteral">&quot;=r&quot;</span> (out16)</div>
+<div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; );</div>
+<div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; out16 = (in32 &gt;&gt; 10) &amp; 0xFFFF;</div>
+<div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; <span class="keywordflow">return</span> out16;</div>
+<div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160;}</div>
+<div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160;</div>
+<div class="line"><a name="l00981"></a><span class="lineno"><a class="line" href="group__lib8tion.html#ga52659d1994f2f21eb05080c97417e93b"> 981</a></span>&#160;LIB8STATIC uint16_t <a class="code" href="group__lib8tion.html#ga52659d1994f2f21eb05080c97417e93b">bseconds16</a>()</div>
+<div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160;{</div>
+<div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; uint32_t ms = GET_MILLIS();</div>
+<div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; uint16_t s16;</div>
+<div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; s16 = <a class="code" href="group__lib8tion.html#ga5f95d6e55b4986bd88f662528cef717e">div1024_32_16</a>( ms);</div>
+<div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; <span class="keywordflow">return</span> s16;</div>
+<div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160;}</div>
+<div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160;</div>
+<div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160;</div>
+<div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160;<span class="comment">// Classes to implement &quot;Every N Milliseconds&quot;, &quot;Every N Seconds&quot;,</span></div>
+<div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160;<span class="comment">// &quot;Every N Minutes&quot;, &quot;Every N Hours&quot;, and &quot;Every N BSeconds&quot;.</span></div>
+<div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160;<span class="preprocessor">#if 1</span></div>
+<div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160;<span class="preprocessor">#define INSTANTIATE_EVERY_N_TIME_PERIODS(NAME,TIMETYPE,TIMEGETTER) \</span></div>
+<div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160;<span class="preprocessor">class NAME { \</span></div>
+<div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160;<span class="preprocessor">public: \</span></div>
+<div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160;<span class="preprocessor"> TIMETYPE mPrevTrigger; \</span></div>
+<div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160;<span class="preprocessor"> TIMETYPE mPeriod; \</span></div>
+<div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160;<span class="preprocessor"> \</span></div>
+<div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160;<span class="preprocessor"> NAME() { reset(); mPeriod = 1; }; \</span></div>
+<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;<span class="preprocessor"> NAME(TIMETYPE period) { reset(); setPeriod(period); }; \</span></div>
+<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;<span class="preprocessor"> void setPeriod( TIMETYPE period) { mPeriod = period; }; \</span></div>
+<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;<span class="preprocessor"> TIMETYPE getTime() { return (TIMETYPE)(TIMEGETTER()); }; \</span></div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;<span class="preprocessor"> TIMETYPE getPeriod() { return mPeriod; }; \</span></div>
+<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;<span class="preprocessor"> TIMETYPE getElapsed() { return getTime() - mPrevTrigger; } \</span></div>
+<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;<span class="preprocessor"> TIMETYPE getRemaining() { return mPeriod - getElapsed(); } \</span></div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;<span class="preprocessor"> TIMETYPE getLastTriggerTime() { return mPrevTrigger; } \</span></div>
+<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;<span class="preprocessor"> bool ready() { \</span></div>
+<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;<span class="preprocessor"> bool isReady = (getElapsed() &gt;= mPeriod); \</span></div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;<span class="preprocessor"> if( isReady ) { reset(); } \</span></div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;<span class="preprocessor"> return isReady; \</span></div>
+<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;<span class="preprocessor"> } \</span></div>
+<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;<span class="preprocessor"> void reset() { mPrevTrigger = getTime(); }; \</span></div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;<span class="preprocessor"> void trigger() { mPrevTrigger = getTime() - mPeriod; }; \</span></div>
+<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;<span class="preprocessor"> \</span></div>
+<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;<span class="preprocessor"> operator bool() { return ready(); } \</span></div>
+<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;<span class="preprocessor">};</span></div>
+<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;INSTANTIATE_EVERY_N_TIME_PERIODS(<a class="code" href="class_c_every_n_time_periods.html">CEveryNMillis</a>,uint32_t,GET_MILLIS);</div>
+<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;INSTANTIATE_EVERY_N_TIME_PERIODS(<a class="code" href="class_c_every_n_time_periods.html">CEveryNSeconds</a>,uint16_t,<a class="code" href="group__lib8tion.html#gaa2abcee2fe76fafd7f3a2aeab03e3b69">seconds16</a>);</div>
+<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;INSTANTIATE_EVERY_N_TIME_PERIODS(<a class="code" href="class_c_every_n_time_periods.html">CEveryNBSeconds</a>,uint16_t,<a class="code" href="group__lib8tion.html#ga52659d1994f2f21eb05080c97417e93b">bseconds16</a>);</div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;INSTANTIATE_EVERY_N_TIME_PERIODS(<a class="code" href="class_c_every_n_time_periods.html">CEveryNMinutes</a>,uint16_t,<a class="code" href="group__lib8tion.html#ga223820399921e32ddf018a90223ff336">minutes16</a>);</div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;INSTANTIATE_EVERY_N_TIME_PERIODS(<a class="code" href="class_c_every_n_time_periods.html">CEveryNHours</a>,uint8_t,<a class="code" href="group__lib8tion.html#ga837f5a688998f3340994613944e47d41">hours8</a>);</div>
+<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;</div>
+<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;<span class="comment">// Under C++11 rules, we would be allowed to use not-external</span></div>
+<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;<span class="comment">// -linkage-type symbols as template arguments,</span></div>
+<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;<span class="comment">// e.g., LIB8STATIC seconds16, and we&#39;d be able to use these</span></div>
+<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;<span class="comment">// templates as shown below.</span></div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;<span class="comment">// However, under C++03 rules, we cannot do that, and thus we</span></div>
+<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;<span class="comment">// have to resort to the preprocessor to &#39;instantiate&#39; &#39;templates&#39;,</span></div>
+<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;<span class="comment">// as handled above.</span></div>
+<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> timeType,timeType (*timeGetter)()&gt;</div>
+<div class="line"><a name="l01032"></a><span class="lineno"><a class="line" href="class_c_every_n_time_periods.html"> 1032</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_c_every_n_time_periods.html">CEveryNTimePeriods</a> {</div>
+<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; timeType mPrevTrigger;</div>
+<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160; timeType mPeriod;</div>
+<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;</div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160; <a class="code" href="class_c_every_n_time_periods.html">CEveryNTimePeriods</a>() { reset(); mPeriod = 1; };</div>
+<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; <a class="code" href="class_c_every_n_time_periods.html">CEveryNTimePeriods</a>(timeType period) { reset(); setPeriod(period); };</div>
+<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; <span class="keywordtype">void</span> setPeriod( timeType period) { mPeriod = period; };</div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; timeType getTime() { <span class="keywordflow">return</span> (timeType)(timeGetter()); };</div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160; timeType getPeriod() { <span class="keywordflow">return</span> mPeriod; };</div>
+<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160; timeType getElapsed() { <span class="keywordflow">return</span> getTime() - mPrevTrigger; }</div>
+<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160; timeType getRemaining() { <span class="keywordflow">return</span> mPeriod - getElapsed(); }</div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; timeType getLastTriggerTime() { <span class="keywordflow">return</span> mPrevTrigger; }</div>
+<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; <span class="keywordtype">bool</span> ready() {</div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160; <span class="keywordtype">bool</span> isReady = (getElapsed() &gt;= mPeriod);</div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160; <span class="keywordflow">if</span>( isReady ) { reset(); }</div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; <span class="keywordflow">return</span> isReady;</div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160; }</div>
+<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160; <span class="keywordtype">void</span> reset() { mPrevTrigger = getTime(); };</div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160; <span class="keywordtype">void</span> trigger() { mPrevTrigger = getTime() - mPeriod; };</div>
+<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;</div>
+<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160; <span class="keyword">operator</span> bool() { <span class="keywordflow">return</span> ready(); }</div>
+<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;};</div>
+<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;<span class="keyword">typedef</span> <a class="code" href="class_c_every_n_time_periods.html">CEveryNTimePeriods&lt;uint16_t,seconds16&gt;</a> <a class="code" href="class_c_every_n_time_periods.html">CEveryNSeconds</a>;</div>
+<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;<span class="keyword">typedef</span> <a class="code" href="class_c_every_n_time_periods.html">CEveryNTimePeriods&lt;uint16_t,bseconds16&gt;</a> <a class="code" href="class_c_every_n_time_periods.html">CEveryNBSeconds</a>;</div>
+<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;<span class="keyword">typedef</span> <a class="code" href="class_c_every_n_time_periods.html">CEveryNTimePeriods&lt;uint32_t,millis&gt;</a> <a class="code" href="class_c_every_n_time_periods.html">CEveryNMillis</a>;</div>
+<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;<span class="keyword">typedef</span> <a class="code" href="class_c_every_n_time_periods.html">CEveryNTimePeriods&lt;uint16_t,minutes16&gt;</a> <a class="code" href="class_c_every_n_time_periods.html">CEveryNMinutes</a>;</div>
+<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160;<span class="keyword">typedef</span> <a class="code" href="class_c_every_n_time_periods.html">CEveryNTimePeriods&lt;uint8_t,hours8&gt;</a> <a class="code" href="class_c_every_n_time_periods.html">CEveryNHours</a>;</div>
+<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;</div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;<span class="preprocessor">#define CEveryNMilliseconds CEveryNMillis</span></div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;<span class="preprocessor">#define EVERY_N_MILLISECONDS(N) EVERY_N_MILLIS(N)</span></div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;FASTLED_NAMESPACE_END</div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="ttc" id="group__lib8tion_html_ga837f5a688998f3340994613944e47d41"><div class="ttname"><a href="group__lib8tion.html#ga837f5a688998f3340994613944e47d41">hours8</a></div><div class="ttdeci">LIB8STATIC uint8_t hours8()</div><div class="ttdoc">Return the current hours since boot in an 8-bit value. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:923</div></div>
-<div class="ttc" id="group__lib8tion_html_ga8c8f06da86c5d7cf13f55c3a5bfdf251"><div class="ttname"><a href="group__lib8tion.html#ga8c8f06da86c5d7cf13f55c3a5bfdf251">lerp16by8</a></div><div class="ttdeci">LIB8STATIC uint16_t lerp16by8(uint16_t a, uint16_t b, fract8 frac)</div><div class="ttdoc">linear interpolation between two unsigned 16-bit values, with 8-bit fraction </div><div class="ttdef"><b>Definition:</b> lib8tion.h:470</div></div>
-<div class="ttc" id="group__lib8tion_html_gade6acbf6fd3c9d346148bccfcafb2fe2"><div class="ttname"><a href="group__lib8tion.html#gade6acbf6fd3c9d346148bccfcafb2fe2">beat16</a></div><div class="ttdeci">LIB8STATIC uint16_t beat16(accum88 beats_per_minute, uint32_t timebase=0)</div><div class="ttdoc">beat16 generates a 16-bit &#39;sawtooth&#39; wave at a given BPM </div><div class="ttdef"><b>Definition:</b> lib8tion.h:844</div></div>
-<div class="ttc" id="group__lib8tion_html_ga381449070b2d6bfba356f87881ab28c0"><div class="ttname"><a href="group__lib8tion.html#ga381449070b2d6bfba356f87881ab28c0">ease8InOutQuad</a></div><div class="ttdeci">LIB8STATIC uint8_t ease8InOutQuad(uint8_t i)</div><div class="ttdoc">ease8InOutQuad: 8-bit quadratic ease-in / ease-out function Takes around 13 cycles on AVR ...</div><div class="ttdef"><b>Definition:</b> lib8tion.h:552</div></div>
-<div class="ttc" id="group__lib8tion_html_ga223820399921e32ddf018a90223ff336"><div class="ttname"><a href="group__lib8tion.html#ga223820399921e32ddf018a90223ff336">minutes16</a></div><div class="ttdeci">LIB8STATIC uint16_t minutes16()</div><div class="ttdoc">Return the current minutes since boot in a 16-bit value. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:913</div></div>
-<div class="ttc" id="group__lib8tion_html_ga62ed4425400bc4140902347dc54ffb72"><div class="ttname"><a href="group__lib8tion.html#ga62ed4425400bc4140902347dc54ffb72">lerp8by8</a></div><div class="ttdeci">LIB8STATIC uint8_t lerp8by8(uint8_t a, uint8_t b, fract8 frac)</div><div class="ttdoc">linear interpolation between two unsigned 8-bit values, with 8-bit fraction </div><div class="ttdef"><b>Definition:</b> lib8tion.h:436</div></div>
-<div class="ttc" id="group__lib8tion_html_ga7c02960d0f26e90054c7312e5f9a55b3"><div class="ttname"><a href="group__lib8tion.html#ga7c02960d0f26e90054c7312e5f9a55b3">lerp16by16</a></div><div class="ttdeci">LIB8STATIC uint16_t lerp16by16(uint16_t a, uint16_t b, fract16 frac)</div><div class="ttdoc">linear interpolation between two unsigned 16-bit values, with 16-bit fraction </div><div class="ttdef"><b>Definition:</b> lib8tion.h:453</div></div>
+<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;</div>
+<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;<span class="preprocessor">#define CONCAT_HELPER( x, y ) x##y</span></div>
+<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;<span class="preprocessor">#define CONCAT_MACRO( x, y ) CONCAT_HELPER( x, y )</span></div>
+<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;<span class="preprocessor">#define EVERY_N_MILLIS(N) EVERY_N_MILLIS_I(CONCAT_MACRO(PER, __COUNTER__ ),N)</span></div>
+<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;<span class="preprocessor">#define EVERY_N_MILLIS_I(NAME,N) static CEveryNMillis NAME(N); if( NAME )</span></div>
+<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;<span class="preprocessor">#define EVERY_N_SECONDS(N) EVERY_N_SECONDS_I(CONCAT_MACRO(PER, __COUNTER__ ),N)</span></div>
+<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;<span class="preprocessor">#define EVERY_N_SECONDS_I(NAME,N) static CEveryNSeconds NAME(N); if( NAME )</span></div>
+<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;<span class="preprocessor">#define EVERY_N_BSECONDS(N) EVERY_N_BSECONDS_I(CONCAT_MACRO(PER, __COUNTER__ ),N)</span></div>
+<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;<span class="preprocessor">#define EVERY_N_BSECONDS_I(NAME,N) static CEveryNBSeconds NAME(N); if( NAME )</span></div>
+<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;<span class="preprocessor">#define EVERY_N_MINUTES(N) EVERY_N_MINUTES_I(CONCAT_MACRO(PER, __COUNTER__ ),N)</span></div>
+<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;<span class="preprocessor">#define EVERY_N_MINUTES_I(NAME,N) static CEveryNMinutes NAME(N); if( NAME )</span></div>
+<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;<span class="preprocessor">#define EVERY_N_HOURS(N) EVERY_N_HOURS_I(CONCAT_MACRO(PER, __COUNTER__ ),N)</span></div>
+<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;<span class="preprocessor">#define EVERY_N_HOURS_I(NAME,N) static CEveryNHours NAME(N); if( NAME )</span></div>
+<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;</div>
+<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;<span class="preprocessor">#define CEveryNMilliseconds CEveryNMillis</span></div>
+<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;<span class="preprocessor">#define EVERY_N_MILLISECONDS(N) EVERY_N_MILLIS(N)</span></div>
+<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;</div>
+<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;FASTLED_NAMESPACE_END</div>
+<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;</div>
+<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="ttc" id="group__lib8tion_html_ga837f5a688998f3340994613944e47d41"><div class="ttname"><a href="group__lib8tion.html#ga837f5a688998f3340994613944e47d41">hours8</a></div><div class="ttdeci">LIB8STATIC uint8_t hours8()</div><div class="ttdoc">Return the current hours since boot in an 8-bit value. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:937</div></div>
+<div class="ttc" id="group__lib8tion_html_ga8c8f06da86c5d7cf13f55c3a5bfdf251"><div class="ttname"><a href="group__lib8tion.html#ga8c8f06da86c5d7cf13f55c3a5bfdf251">lerp16by8</a></div><div class="ttdeci">LIB8STATIC uint16_t lerp16by8(uint16_t a, uint16_t b, fract8 frac)</div><div class="ttdoc">linear interpolation between two unsigned 16-bit values, with 8-bit fraction </div><div class="ttdef"><b>Definition:</b> lib8tion.h:480</div></div>
+<div class="ttc" id="group__lib8tion_html_gade6acbf6fd3c9d346148bccfcafb2fe2"><div class="ttname"><a href="group__lib8tion.html#gade6acbf6fd3c9d346148bccfcafb2fe2">beat16</a></div><div class="ttdeci">LIB8STATIC uint16_t beat16(accum88 beats_per_minute, uint32_t timebase=0)</div><div class="ttdoc">beat16 generates a 16-bit &#39;sawtooth&#39; wave at a given BPM </div><div class="ttdef"><b>Definition:</b> lib8tion.h:858</div></div>
+<div class="ttc" id="group__lib8tion_html_ga9585be88f27cab4c367399d8e91c8467"><div class="ttname"><a href="group__lib8tion.html#ga9585be88f27cab4c367399d8e91c8467">saccum78</a></div><div class="ttdeci">int16_t saccum78</div><div class="ttdoc">ANSI: signed short _Accum. 7 bits int, 8 bits fraction. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:344</div></div>
+<div class="ttc" id="group__lib8tion_html_ga381449070b2d6bfba356f87881ab28c0"><div class="ttname"><a href="group__lib8tion.html#ga381449070b2d6bfba356f87881ab28c0">ease8InOutQuad</a></div><div class="ttdeci">LIB8STATIC uint8_t ease8InOutQuad(uint8_t i)</div><div class="ttdoc">ease8InOutQuad: 8-bit quadratic ease-in / ease-out function Takes around 13 cycles on AVR ...</div><div class="ttdef"><b>Definition:</b> lib8tion.h:562</div></div>
+<div class="ttc" id="group__lib8tion_html_gae3ac7def25ef5ddea2da1a3bc0c00f44"><div class="ttname"><a href="group__lib8tion.html#gae3ac7def25ef5ddea2da1a3bc0c00f44">accum1616</a></div><div class="ttdeci">uint32_t accum1616</div><div class="ttdoc">ANSI: signed _Accum. 16 bits int, 16 bits fraction. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:345</div></div>
+<div class="ttc" id="group__lib8tion_html_ga223820399921e32ddf018a90223ff336"><div class="ttname"><a href="group__lib8tion.html#ga223820399921e32ddf018a90223ff336">minutes16</a></div><div class="ttdeci">LIB8STATIC uint16_t minutes16()</div><div class="ttdoc">Return the current minutes since boot in a 16-bit value. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:927</div></div>
+<div class="ttc" id="group__lib8tion_html_ga62ed4425400bc4140902347dc54ffb72"><div class="ttname"><a href="group__lib8tion.html#ga62ed4425400bc4140902347dc54ffb72">lerp8by8</a></div><div class="ttdeci">LIB8STATIC uint8_t lerp8by8(uint8_t a, uint8_t b, fract8 frac)</div><div class="ttdoc">linear interpolation between two unsigned 8-bit values, with 8-bit fraction </div><div class="ttdef"><b>Definition:</b> lib8tion.h:446</div></div>
+<div class="ttc" id="group__lib8tion_html_gaaf46b9f719ef3bdb574f8e967af6dbb5"><div class="ttname"><a href="group__lib8tion.html#gaaf46b9f719ef3bdb574f8e967af6dbb5">fract16</a></div><div class="ttdeci">uint16_t fract16</div><div class="ttdoc">ANSI: unsigned _Fract. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:332</div></div>
+<div class="ttc" id="group__lib8tion_html_ga7c02960d0f26e90054c7312e5f9a55b3"><div class="ttname"><a href="group__lib8tion.html#ga7c02960d0f26e90054c7312e5f9a55b3">lerp16by16</a></div><div class="ttdeci">LIB8STATIC uint16_t lerp16by16(uint16_t a, uint16_t b, fract16 frac)</div><div class="ttdoc">linear interpolation between two unsigned 16-bit values, with 16-bit fraction </div><div class="ttdef"><b>Definition:</b> lib8tion.h:463</div></div>
+<div class="ttc" id="group__lib8tion_html_ga397f872082dbd788e04e8c6e443e563a"><div class="ttname"><a href="group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a">accum88</a></div><div class="ttdeci">uint16_t accum88</div><div class="ttdoc">ANSI: unsigned short _Accum. 8 bits int, 8 bits fraction. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:343</div></div>
<div class="ttc" id="group___scaling_html_ga6c160f8c36ce9b3c5eda68e4992010af"><div class="ttname"><a href="group___scaling.html#ga6c160f8c36ce9b3c5eda68e4992010af">scale8</a></div><div class="ttdeci">LIB8STATIC uint8_t scale8(uint8_t i, fract8 scale)</div><div class="ttdoc">scale one byte by a second one, which is treated as the numerator of a fraction whose denominator is ...</div><div class="ttdef"><b>Definition:</b> scale8.h:20</div></div>
-<div class="ttc" id="union_i_e_e_e754binary32__t_html"><div class="ttname"><a href="union_i_e_e_e754binary32__t.html">IEEE754binary32_t</a></div><div class="ttdef"><b>Definition:</b> lib8tion.h:342</div></div>
-<div class="ttc" id="group__lib8tion_html_gaa46e5de1c4c27833359e7a97a18c839b"><div class="ttname"><a href="group__lib8tion.html#gaa46e5de1c4c27833359e7a97a18c839b">beatsin16</a></div><div class="ttdeci">LIB8STATIC uint16_t beatsin16(accum88 beats_per_minute, uint16_t lowest=0, uint16_t highest=65535, uint32_t timebase=0, uint16_t phase_offset=0)</div><div class="ttdoc">beatsin16 generates a 16-bit sine wave at a given BPM, that oscillates within a given range...</div><div class="ttdef"><b>Definition:</b> lib8tion.h:876</div></div>
-<div class="ttc" id="group__lib8tion_html_gad4b09aba4e188e14d3e71d1c9f77f1a5"><div class="ttname"><a href="group__lib8tion.html#gad4b09aba4e188e14d3e71d1c9f77f1a5">lerp15by16</a></div><div class="ttdeci">LIB8STATIC int16_t lerp15by16(int16_t a, int16_t b, fract16 frac)</div><div class="ttdoc">linear interpolation between two signed 15-bit values, with 8-bit fraction </div><div class="ttdef"><b>Definition:</b> lib8tion.h:504</div></div>
+<div class="ttc" id="union_i_e_e_e754binary32__t_html"><div class="ttname"><a href="union_i_e_e_e754binary32__t.html">IEEE754binary32_t</a></div><div class="ttdoc">typedef for IEEE754 "binary32" float type internals </div><div class="ttdef"><b>Definition:</b> lib8tion.h:352</div></div>
+<div class="ttc" id="group__lib8tion_html_ga00cb5dc9e5b477a58669a3e40bc473c2"><div class="ttname"><a href="group__lib8tion.html#ga00cb5dc9e5b477a58669a3e40bc473c2">sfract15</a></div><div class="ttdeci">int16_t sfract15</div><div class="ttdoc">ANSI: signed _Fract. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:336</div></div>
+<div class="ttc" id="group__lib8tion_html_gaa46e5de1c4c27833359e7a97a18c839b"><div class="ttname"><a href="group__lib8tion.html#gaa46e5de1c4c27833359e7a97a18c839b">beatsin16</a></div><div class="ttdeci">LIB8STATIC uint16_t beatsin16(accum88 beats_per_minute, uint16_t lowest=0, uint16_t highest=65535, uint32_t timebase=0, uint16_t phase_offset=0)</div><div class="ttdoc">beatsin16 generates a 16-bit sine wave at a given BPM, that oscillates within a given range...</div><div class="ttdef"><b>Definition:</b> lib8tion.h:890</div></div>
+<div class="ttc" id="group__lib8tion_html_gad5dca0e1248b916799dde6dc44ef369b"><div class="ttname"><a href="group__lib8tion.html#gad5dca0e1248b916799dde6dc44ef369b">q88</a></div><div class="ttdeci">q&lt; uint16_t, 8, 8 &gt; q88</div><div class="ttdoc">A 8.8 integer (8 bits integer, 8 bits fraction) </div><div class="ttdef"><b>Definition:</b> lib8tion.h:771</div></div>
+<div class="ttc" id="group__lib8tion_html_gad4b09aba4e188e14d3e71d1c9f77f1a5"><div class="ttname"><a href="group__lib8tion.html#gad4b09aba4e188e14d3e71d1c9f77f1a5">lerp15by16</a></div><div class="ttdeci">LIB8STATIC int16_t lerp15by16(int16_t a, int16_t b, fract16 frac)</div><div class="ttdoc">linear interpolation between two signed 15-bit values, with 8-bit fraction </div><div class="ttdef"><b>Definition:</b> lib8tion.h:514</div></div>
+<div class="ttc" id="group__lib8tion_html_ga95e7a40d98aa0371e9adce9220d3a67c"><div class="ttname"><a href="group__lib8tion.html#ga95e7a40d98aa0371e9adce9220d3a67c">saccum114</a></div><div class="ttdeci">int32_t saccum114</div><div class="ttdoc">no direct ANSI counterpart. 1 bit int, 14 bits fraction </div><div class="ttdef"><b>Definition:</b> lib8tion.h:348</div></div>
<div class="ttc" id="group___scaling_html_gaf34fde0746c9c2e5ed44f9c437a2267e"><div class="ttname"><a href="group___scaling.html#gaf34fde0746c9c2e5ed44f9c437a2267e">scale16by8</a></div><div class="ttdeci">LIB8STATIC uint16_t scale16by8(uint16_t i, fract8 scale)</div><div class="ttdoc">scale a 16-bit unsigned value by an 8-bit value, considered as numerator of a fraction whose denomina...</div><div class="ttdef"><b>Definition:</b> scale8.h:348</div></div>
<div class="ttc" id="group___scaling_html_ga1ff8ac00ad78e22acc7bb7445bfdb145"><div class="ttname"><a href="group___scaling.html#ga1ff8ac00ad78e22acc7bb7445bfdb145">scale16</a></div><div class="ttdeci">LIB8STATIC uint16_t scale16(uint16_t i, fract16 scale)</div><div class="ttdoc">scale a 16-bit unsigned value by a 16-bit value, considered as numerator of a fraction whose denomina...</div><div class="ttdef"><b>Definition:</b> scale8.h:384</div></div>
-<div class="ttc" id="group__lib8tion_html_gaa2facbc0ec935e34c629aef43d6262c0"><div class="ttname"><a href="group__lib8tion.html#gaa2facbc0ec935e34c629aef43d6262c0">floatToSfract15</a></div><div class="ttdeci">LIB8STATIC sfract15 floatToSfract15(float f)</div><div class="ttdoc">conversion from IEEE754 float in the range (-1,1) to 16-bit fixed point. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:393</div></div>
-<div class="ttc" id="group__lib8tion_html_gaa2abcee2fe76fafd7f3a2aeab03e3b69"><div class="ttname"><a href="group__lib8tion.html#gaa2abcee2fe76fafd7f3a2aeab03e3b69">seconds16</a></div><div class="ttdeci">LIB8STATIC uint16_t seconds16()</div><div class="ttdoc">Return the current seconds since boot in a 16-bit value. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:903</div></div>
-<div class="ttc" id="group__lib8tion_html_ga52659d1994f2f21eb05080c97417e93b"><div class="ttname"><a href="group__lib8tion.html#ga52659d1994f2f21eb05080c97417e93b">bseconds16</a></div><div class="ttdeci">LIB8STATIC uint16_t bseconds16()</div><div class="ttdoc">bseconds16 returns the current time-since-boot in "binary seconds", which are actually 1024/1000 of a...</div><div class="ttdef"><b>Definition:</b> lib8tion.h:967</div></div>
-<div class="ttc" id="group__lib8tion_html_ga209d6cbdb109cc3139e7bb1e46c6228f"><div class="ttname"><a href="group__lib8tion.html#ga209d6cbdb109cc3139e7bb1e46c6228f">quadwave8</a></div><div class="ttdeci">LIB8STATIC uint8_t quadwave8(uint8_t in)</div><div class="ttdoc">quadwave8: quadratic waveform generator. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:684</div></div>
-<div class="ttc" id="class_c_every_n_time_periods_html"><div class="ttname"><a href="class_c_every_n_time_periods.html">CEveryNTimePeriods</a></div><div class="ttdef"><b>Definition:</b> lib8tion.h:1018</div></div>
-<div class="ttc" id="group__lib8tion_html_gaf917825ff26c8e1174c5b674a2f3c631"><div class="ttname"><a href="group__lib8tion.html#gaf917825ff26c8e1174c5b674a2f3c631">beatsin88</a></div><div class="ttdeci">LIB8STATIC uint16_t beatsin88(accum88 beats_per_minute_88, uint16_t lowest=0, uint16_t highest=65535, uint32_t timebase=0, uint16_t phase_offset=0)</div><div class="ttdoc">beatsin88 generates a 16-bit sine wave at a given BPM, that oscillates within a given range...</div><div class="ttdef"><b>Definition:</b> lib8tion.h:863</div></div>
+<div class="ttc" id="group__lib8tion_html_gaa2facbc0ec935e34c629aef43d6262c0"><div class="ttname"><a href="group__lib8tion.html#gaa2facbc0ec935e34c629aef43d6262c0">floatToSfract15</a></div><div class="ttdeci">LIB8STATIC sfract15 floatToSfract15(float f)</div><div class="ttdoc">conversion from IEEE754 float in the range (-1,1) to 16-bit fixed point. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:403</div></div>
+<div class="ttc" id="group__lib8tion_html_gaa2abcee2fe76fafd7f3a2aeab03e3b69"><div class="ttname"><a href="group__lib8tion.html#gaa2abcee2fe76fafd7f3a2aeab03e3b69">seconds16</a></div><div class="ttdeci">LIB8STATIC uint16_t seconds16()</div><div class="ttdoc">Return the current seconds since boot in a 16-bit value. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:917</div></div>
+<div class="ttc" id="group__lib8tion_html_ga7bcc9ebf20b0dd74d9999d5a630d443f"><div class="ttname"><a href="group__lib8tion.html#ga7bcc9ebf20b0dd74d9999d5a630d443f">accum124</a></div><div class="ttdeci">uint16_t accum124</div><div class="ttdoc">no direct ANSI counterpart. 12 bits int, 4 bits fraction </div><div class="ttdef"><b>Definition:</b> lib8tion.h:347</div></div>
+<div class="ttc" id="group__lib8tion_html_ga52659d1994f2f21eb05080c97417e93b"><div class="ttname"><a href="group__lib8tion.html#ga52659d1994f2f21eb05080c97417e93b">bseconds16</a></div><div class="ttdeci">LIB8STATIC uint16_t bseconds16()</div><div class="ttdoc">bseconds16 returns the current time-since-boot in "binary seconds", which are actually 1024/1000 of a...</div><div class="ttdef"><b>Definition:</b> lib8tion.h:981</div></div>
+<div class="ttc" id="group__lib8tion_html_ga0f02a1da674754f48c5f89c1610e118c"><div class="ttname"><a href="group__lib8tion.html#ga0f02a1da674754f48c5f89c1610e118c">q124</a></div><div class="ttdeci">q&lt; uint16_t, 12, 4 &gt; q124</div><div class="ttdoc">A 12.4 integer (12 bits integer, 4 bits fraction) </div><div class="ttdef"><b>Definition:</b> lib8tion.h:773</div></div>
+<div class="ttc" id="group__lib8tion_html_ga209d6cbdb109cc3139e7bb1e46c6228f"><div class="ttname"><a href="group__lib8tion.html#ga209d6cbdb109cc3139e7bb1e46c6228f">quadwave8</a></div><div class="ttdeci">LIB8STATIC uint8_t quadwave8(uint8_t in)</div><div class="ttdoc">quadwave8: quadratic waveform generator. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:694</div></div>
+<div class="ttc" id="class_c_every_n_time_periods_html"><div class="ttname"><a href="class_c_every_n_time_periods.html">CEveryNTimePeriods</a></div><div class="ttdef"><b>Definition:</b> lib8tion.h:1032</div></div>
+<div class="ttc" id="group__lib8tion_html_ga5d6d013429a5b8a09d564d6137217644"><div class="ttname"><a href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a></div><div class="ttdeci">uint8_t fract8</div><div class="ttdoc">ANSI unsigned short _Fract. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:324</div></div>
+<div class="ttc" id="group__lib8tion_html_ga85082c3ed8843d32076222e82d72f80d"><div class="ttname"><a href="group__lib8tion.html#ga85082c3ed8843d32076222e82d72f80d">q44</a></div><div class="ttdeci">q&lt; uint8_t, 4, 4 &gt; q44</div><div class="ttdoc">A 4.4 integer (4 bits integer, 4 bits fraction) </div><div class="ttdef"><b>Definition:</b> lib8tion.h:767</div></div>
+<div class="ttc" id="group__lib8tion_html_gaf917825ff26c8e1174c5b674a2f3c631"><div class="ttname"><a href="group__lib8tion.html#gaf917825ff26c8e1174c5b674a2f3c631">beatsin88</a></div><div class="ttdeci">LIB8STATIC uint16_t beatsin88(accum88 beats_per_minute_88, uint16_t lowest=0, uint16_t highest=65535, uint32_t timebase=0, uint16_t phase_offset=0)</div><div class="ttdoc">beatsin88 generates a 16-bit sine wave at a given BPM, that oscillates within a given range...</div><div class="ttdef"><b>Definition:</b> lib8tion.h:877</div></div>
<div class="ttc" id="group___scaling_html_ga39579fcf09743f15545fe0b831ca313c"><div class="ttname"><a href="group___scaling.html#ga39579fcf09743f15545fe0b831ca313c">scale8_LEAVING_R1_DIRTY</a></div><div class="ttdeci">LIB8STATIC uint8_t scale8_LEAVING_R1_DIRTY(uint8_t i, fract8 scale)</div><div class="ttdoc">This version of scale8 does not clean up the R1 register on AVR If you are doing several &#39;scale8&#39;s in...</div><div class="ttdef"><b>Definition:</b> scale8.h:121</div></div>
-<div class="ttc" id="group__lib8tion_html_ga06b04a0cf955ec107d49b76e0cb35225"><div class="ttname"><a href="group__lib8tion.html#ga06b04a0cf955ec107d49b76e0cb35225">cubicwave8</a></div><div class="ttdeci">LIB8STATIC uint8_t cubicwave8(uint8_t in)</div><div class="ttdoc">cubicwave8: cubic waveform generator. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:691</div></div>
-<div class="ttc" id="group__lib8tion_html_ga1b48fc520db5f40910caf79974992395"><div class="ttname"><a href="group__lib8tion.html#ga1b48fc520db5f40910caf79974992395">beat88</a></div><div class="ttdeci">LIB8STATIC uint16_t beat88(accum88 beats_per_minute_88, uint32_t timebase=0)</div><div class="ttdoc">with BPM specified in Q8.8 fixed-point format; e.g. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:830</div></div>
-<div class="ttc" id="group__lib8tion_html_gaa041cdbb17f073dbd352fcae6962dc23"><div class="ttname"><a href="group__lib8tion.html#gaa041cdbb17f073dbd352fcae6962dc23">ease8InOutApprox</a></div><div class="ttdeci">LIB8STATIC fract8 ease8InOutApprox(fract8 i)</div><div class="ttdoc">ease8InOutApprox: fast, rough 8-bit ease-in/ease-out function shaped approximately like &#39;ease8InOutCu...</div><div class="ttdef"><b>Definition:</b> lib8tion.h:598</div></div>
-<div class="ttc" id="group__lib8tion_html_ga3fa6d71702477e71d7c0dd864eb1d568"><div class="ttname"><a href="group__lib8tion.html#ga3fa6d71702477e71d7c0dd864eb1d568">ease8InOutCubic</a></div><div class="ttdeci">LIB8STATIC fract8 ease8InOutCubic(fract8 i)</div><div class="ttdoc">ease8InOutCubic: 8-bit cubic ease-in / ease-out function Takes around 18 cycles on AVR ...</div><div class="ttdef"><b>Definition:</b> lib8tion.h:569</div></div>
-<div class="ttc" id="group__lib8tion_html_ga12014943214a72eec31433d9682d4ebe"><div class="ttname"><a href="group__lib8tion.html#ga12014943214a72eec31433d9682d4ebe">beat8</a></div><div class="ttdeci">LIB8STATIC uint8_t beat8(accum88 beats_per_minute, uint32_t timebase=0)</div><div class="ttdoc">beat8 generates an 8-bit &#39;sawtooth&#39; wave at a given BPM </div><div class="ttdef"><b>Definition:</b> lib8tion.h:852</div></div>
+<div class="ttc" id="group__lib8tion_html_ga06b04a0cf955ec107d49b76e0cb35225"><div class="ttname"><a href="group__lib8tion.html#ga06b04a0cf955ec107d49b76e0cb35225">cubicwave8</a></div><div class="ttdeci">LIB8STATIC uint8_t cubicwave8(uint8_t in)</div><div class="ttdoc">cubicwave8: cubic waveform generator. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:701</div></div>
+<div class="ttc" id="group__lib8tion_html_ga1b48fc520db5f40910caf79974992395"><div class="ttname"><a href="group__lib8tion.html#ga1b48fc520db5f40910caf79974992395">beat88</a></div><div class="ttdeci">LIB8STATIC uint16_t beat88(accum88 beats_per_minute_88, uint32_t timebase=0)</div><div class="ttdoc">with BPM specified in Q8.8 fixed-point format; e.g. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:844</div></div>
+<div class="ttc" id="group__lib8tion_html_gaa041cdbb17f073dbd352fcae6962dc23"><div class="ttname"><a href="group__lib8tion.html#gaa041cdbb17f073dbd352fcae6962dc23">ease8InOutApprox</a></div><div class="ttdeci">LIB8STATIC fract8 ease8InOutApprox(fract8 i)</div><div class="ttdoc">ease8InOutApprox: fast, rough 8-bit ease-in/ease-out function shaped approximately like &#39;ease8InOutCu...</div><div class="ttdef"><b>Definition:</b> lib8tion.h:608</div></div>
+<div class="ttc" id="group__lib8tion_html_ga7d6219a7247ab1923ed623e7ae0f34ae"><div class="ttname"><a href="group__lib8tion.html#ga7d6219a7247ab1923ed623e7ae0f34ae">sfract7</a></div><div class="ttdeci">int8_t sfract7</div><div class="ttdoc">ANSI: signed short _Fract. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:328</div></div>
+<div class="ttc" id="group__lib8tion_html_ga3fa6d71702477e71d7c0dd864eb1d568"><div class="ttname"><a href="group__lib8tion.html#ga3fa6d71702477e71d7c0dd864eb1d568">ease8InOutCubic</a></div><div class="ttdeci">LIB8STATIC fract8 ease8InOutCubic(fract8 i)</div><div class="ttdoc">ease8InOutCubic: 8-bit cubic ease-in / ease-out function Takes around 18 cycles on AVR ...</div><div class="ttdef"><b>Definition:</b> lib8tion.h:579</div></div>
+<div class="ttc" id="group__lib8tion_html_ga12014943214a72eec31433d9682d4ebe"><div class="ttname"><a href="group__lib8tion.html#ga12014943214a72eec31433d9682d4ebe">beat8</a></div><div class="ttdeci">LIB8STATIC uint8_t beat8(accum88 beats_per_minute, uint32_t timebase=0)</div><div class="ttdoc">beat8 generates an 8-bit &#39;sawtooth&#39; wave at a given BPM </div><div class="ttdef"><b>Definition:</b> lib8tion.h:866</div></div>
<div class="ttc" id="group___bitswap_html_ga01396a2e40133293c3badab349ac99f0"><div class="ttname"><a href="group___bitswap.html#ga01396a2e40133293c3badab349ac99f0">__attribute__</a></div><div class="ttdeci">__attribute__((always_inline)) inline void swapbits8(bitswap_type in</div><div class="ttdoc">Do an 8byte by 8bit rotation. </div><div class="ttdef"><b>Definition:</b> fastled_delay.h:82</div></div>
-<div class="ttc" id="group__lib8tion_html_gae9e011ff745ade1164ae77b0ef62bfac"><div class="ttname"><a href="group__lib8tion.html#gae9e011ff745ade1164ae77b0ef62bfac">triwave8</a></div><div class="ttdeci">LIB8STATIC uint8_t triwave8(uint8_t in)</div><div class="ttdoc">triwave8: triangle (sawtooth) wave generator. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:663</div></div>
-<div class="ttc" id="group__lib8tion_html_gaecd7cbfc2640407cabf75afcc7d9ddf4"><div class="ttname"><a href="group__lib8tion.html#gaecd7cbfc2640407cabf75afcc7d9ddf4">beatsin8</a></div><div class="ttdeci">LIB8STATIC uint8_t beatsin8(accum88 beats_per_minute, uint8_t lowest=0, uint8_t highest=255, uint32_t timebase=0, uint8_t phase_offset=0)</div><div class="ttdoc">beatsin8 generates an 8-bit sine wave at a given BPM, that oscillates within a given range...</div><div class="ttdef"><b>Definition:</b> lib8tion.h:889</div></div>
-<div class="ttc" id="group__lib8tion_html_ga17ae8fcfd9c485bb1120d908f836637a"><div class="ttname"><a href="group__lib8tion.html#ga17ae8fcfd9c485bb1120d908f836637a">squarewave8</a></div><div class="ttdeci">LIB8STATIC uint8_t squarewave8(uint8_t in, uint8_t pulsewidth=128)</div><div class="ttdoc">squarewave8: square wave generator. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:720</div></div>
-<div class="ttc" id="group__lib8tion_html_gaacea0eaea98a065dfa08bb1c147c52a1"><div class="ttname"><a href="group__lib8tion.html#gaacea0eaea98a065dfa08bb1c147c52a1">lerp15by8</a></div><div class="ttdeci">LIB8STATIC int16_t lerp15by8(int16_t a, int16_t b, fract8 frac)</div><div class="ttdoc">linear interpolation between two signed 15-bit values, with 8-bit fraction </div><div class="ttdef"><b>Definition:</b> lib8tion.h:487</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:733</div></div>
-<div class="ttc" id="group__lib8tion_html_gaf65357c7aeca9778e5a2f80a6bac2b5d"><div class="ttname"><a href="group__lib8tion.html#gaf65357c7aeca9778e5a2f80a6bac2b5d">map8</a></div><div class="ttdeci">LIB8STATIC uint8_t map8(uint8_t in, uint8_t rangeStart, uint8_t rangeEnd)</div><div class="ttdoc">map8: map from one full-range 8-bit value into a narrower range of 8-bit values, possibly a range of ...</div><div class="ttdef"><b>Definition:</b> lib8tion.h:536</div></div>
-<div class="ttc" id="group__lib8tion_html_ga5f95d6e55b4986bd88f662528cef717e"><div class="ttname"><a href="group__lib8tion.html#ga5f95d6e55b4986bd88f662528cef717e">div1024_32_16</a></div><div class="ttdeci">LIB8STATIC uint16_t div1024_32_16(uint32_t in32)</div><div class="ttdoc">Helper routine to divide a 32-bit value by 1024, returning only the low 16 bits. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:942</div></div>
-<div class="ttc" id="group__lib8tion_html_gab947c1150e3b9056cb91685a14270173"><div class="ttname"><a href="group__lib8tion.html#gab947c1150e3b9056cb91685a14270173">sfract15ToFloat</a></div><div class="ttdeci">LIB8STATIC float sfract15ToFloat(sfract15 y)</div><div class="ttdoc">sfract15ToFloat: conversion from sfract15 fixed point to IEEE754 32-bit float. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:384</div></div>
+<div class="ttc" id="group__lib8tion_html_gae9e011ff745ade1164ae77b0ef62bfac"><div class="ttname"><a href="group__lib8tion.html#gae9e011ff745ade1164ae77b0ef62bfac">triwave8</a></div><div class="ttdeci">LIB8STATIC uint8_t triwave8(uint8_t in)</div><div class="ttdoc">triwave8: triangle (sawtooth) wave generator. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:673</div></div>
+<div class="ttc" id="group__lib8tion_html_gaecd7cbfc2640407cabf75afcc7d9ddf4"><div class="ttname"><a href="group__lib8tion.html#gaecd7cbfc2640407cabf75afcc7d9ddf4">beatsin8</a></div><div class="ttdeci">LIB8STATIC uint8_t beatsin8(accum88 beats_per_minute, uint8_t lowest=0, uint8_t highest=255, uint32_t timebase=0, uint8_t phase_offset=0)</div><div class="ttdoc">beatsin8 generates an 8-bit sine wave at a given BPM, that oscillates within a given range...</div><div class="ttdef"><b>Definition:</b> lib8tion.h:903</div></div>
+<div class="ttc" id="group__lib8tion_html_ga17ae8fcfd9c485bb1120d908f836637a"><div class="ttname"><a href="group__lib8tion.html#ga17ae8fcfd9c485bb1120d908f836637a">squarewave8</a></div><div class="ttdeci">LIB8STATIC uint8_t squarewave8(uint8_t in, uint8_t pulsewidth=128)</div><div class="ttdoc">squarewave8: square wave generator. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:730</div></div>
+<div class="ttc" id="group__lib8tion_html_gaacea0eaea98a065dfa08bb1c147c52a1"><div class="ttname"><a href="group__lib8tion.html#gaacea0eaea98a065dfa08bb1c147c52a1">lerp15by8</a></div><div class="ttdeci">LIB8STATIC int16_t lerp15by8(int16_t a, int16_t b, fract8 frac)</div><div class="ttdoc">linear interpolation between two signed 15-bit values, with 8-bit fraction </div><div class="ttdef"><b>Definition:</b> lib8tion.h:497</div></div>
+<div class="ttc" id="group__lib8tion_html_gafea4166e233d92817eada7203021089a"><div class="ttname"><a href="group__lib8tion.html#gafea4166e233d92817eada7203021089a">q62</a></div><div class="ttdeci">q&lt; uint8_t, 6, 2 &gt; q62</div><div class="ttdoc">A 6.2 integer (6 bits integer, 2 bits fraction) </div><div class="ttdef"><b>Definition:</b> lib8tion.h:769</div></div>
+<div class="ttc" id="classq_html"><div class="ttname"><a href="classq.html">q</a></div><div class="ttdoc">Template class for represneting fractional ints. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:743</div></div>
+<div class="ttc" id="group__lib8tion_html_gaf65357c7aeca9778e5a2f80a6bac2b5d"><div class="ttname"><a href="group__lib8tion.html#gaf65357c7aeca9778e5a2f80a6bac2b5d">map8</a></div><div class="ttdeci">LIB8STATIC uint8_t map8(uint8_t in, uint8_t rangeStart, uint8_t rangeEnd)</div><div class="ttdoc">map8: map from one full-range 8-bit value into a narrower range of 8-bit values, possibly a range of ...</div><div class="ttdef"><b>Definition:</b> lib8tion.h:546</div></div>
+<div class="ttc" id="group__lib8tion_html_gad2dad84f67c8a4cc6d4c92e2c7d3e89f"><div class="ttname"><a href="group__lib8tion.html#gad2dad84f67c8a4cc6d4c92e2c7d3e89f">saccum1516</a></div><div class="ttdeci">int32_t saccum1516</div><div class="ttdoc">ANSI: signed _Accum. 15 bits int, 16 bits fraction. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:346</div></div>
+<div class="ttc" id="group__lib8tion_html_ga5f95d6e55b4986bd88f662528cef717e"><div class="ttname"><a href="group__lib8tion.html#ga5f95d6e55b4986bd88f662528cef717e">div1024_32_16</a></div><div class="ttdeci">LIB8STATIC uint16_t div1024_32_16(uint32_t in32)</div><div class="ttdoc">Helper routine to divide a 32-bit value by 1024, returning only the low 16 bits. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:956</div></div>
+<div class="ttc" id="group__lib8tion_html_gab947c1150e3b9056cb91685a14270173"><div class="ttname"><a href="group__lib8tion.html#gab947c1150e3b9056cb91685a14270173">sfract15ToFloat</a></div><div class="ttdeci">LIB8STATIC float sfract15ToFloat(sfract15 y)</div><div class="ttdoc">sfract15ToFloat: conversion from sfract15 fixed point to IEEE754 32-bit float. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:394</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/math8_8h_source.html b/docs/3.1/math8_8h_source.html
index c7009ae5..a2d5e682 100644
--- a/docs/3.1/math8_8h_source.html
+++ b/docs/3.1/math8_8h_source.html
@@ -408,7 +408,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/md__p_o_r_t_i_n_g.html b/docs/3.1/md__p_o_r_t_i_n_g.html
index 328f991a..d4f46940 100644
--- a/docs/3.1/md__p_o_r_t_i_n_g.html
+++ b/docs/3.1/md__p_o_r_t_i_n_g.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 edde5a6d..6ed0822d 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
@@ -140,7 +140,7 @@ void loop() {
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/md_release_notes.html b/docs/3.1/md_release_notes.html
index a56ee4de..17431bbd 100644
--- a/docs/3.1/md_release_notes.html
+++ b/docs/3.1/md_release_notes.html
@@ -197,7 +197,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/modules.html b/docs/3.1/modules.html
index 316ebbf1..8be70e7f 100644
--- a/docs/3.1/modules.html
+++ b/docs/3.1/modules.html
@@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/noise_8h.html b/docs/3.1/noise_8h.html
index 4833be3c..9b1fa0c6 100644
--- a/docs/3.1/noise_8h.html
+++ b/docs/3.1/noise_8h.html
@@ -173,10 +173,10 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>fill_raw_2dnoise8</b>
void&#160;</td><td class="memItemRight" valign="bottom"><b>fill_raw_2dnoise16into8</b> (uint8_t *pData, int width, int height, uint8_t octaves, uint32_t x, int scalex, uint32_t y, int scaley, uint32_t time)</td></tr>
<tr class="separator:ga46bde35765a7eddbd1049fe49429e94e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2a41b0b6fc438305e9fc35307fcd641d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2a41b0b6fc438305e9fc35307fcd641d"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>fill_raw_2dnoise16</b> (uint16_t *pData, int width, int height, uint8_t octaves, <a class="el" href="classq.html">q88</a> freq88, fract16 amplitude, int skip, uint32_t x, int scalex, uint32_t y, int scaley, uint32_t time)</td></tr>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>fill_raw_2dnoise16</b> (uint16_t *pData, int width, int height, uint8_t octaves, <a class="el" href="group__lib8tion.html#gad5dca0e1248b916799dde6dc44ef369b">q88</a> freq88, <a class="el" href="group__lib8tion.html#gaaf46b9f719ef3bdb574f8e967af6dbb5">fract16</a> amplitude, int skip, uint32_t x, int scalex, uint32_t y, int scaley, uint32_t time)</td></tr>
<tr class="separator:ga2a41b0b6fc438305e9fc35307fcd641d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7731d44b05067579cf4861f0a449f257"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7731d44b05067579cf4861f0a449f257"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>fill_raw_2dnoise16into8</b> (uint8_t *pData, int width, int height, uint8_t octaves, <a class="el" href="classq.html">q44</a> freq44, fract8 amplitude, int skip, uint32_t x, int scalex, uint32_t y, int scaley, uint32_t time)</td></tr>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>fill_raw_2dnoise16into8</b> (uint8_t *pData, int width, int height, uint8_t octaves, <a class="el" href="group__lib8tion.html#ga85082c3ed8843d32076222e82d72f80d">q44</a> freq44, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> amplitude, int skip, uint32_t x, int scalex, uint32_t y, int scaley, uint32_t time)</td></tr>
<tr class="separator:ga7731d44b05067579cf4861f0a449f257"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">fill functions</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>fill functions to fill leds with values based on noise functions.</p>
@@ -200,7 +200,7 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>fill_2dnoise16</b> (<
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/noise_8h_source.html b/docs/3.1/noise_8h_source.html
index 048f843c..72b08965 100644
--- a/docs/3.1/noise_8h_source.html
+++ b/docs/3.1/noise_8h_source.html
@@ -116,8 +116,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="keywordtype">void</span> fill_raw_2dnoise8(uint8_t *pData, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height, uint8_t octaves, uint16_t x, <span class="keywordtype">int</span> scalex, uint16_t y, <span class="keywordtype">int</span> scaley, uint16_t time);</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="keywordtype">void</span> fill_raw_2dnoise16into8(uint8_t *pData, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height, uint8_t octaves, uint32_t x, <span class="keywordtype">int</span> scalex, uint32_t y, <span class="keywordtype">int</span> scaley, uint32_t time);</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="keywordtype">void</span> fill_raw_2dnoise16(uint16_t *pData, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height, uint8_t octaves, <a class="code" href="classq.html">q88</a> freq88, fract16 amplitude, <span class="keywordtype">int</span> skip, uint32_t x, <span class="keywordtype">int</span> scalex, uint32_t y, <span class="keywordtype">int</span> scaley, uint32_t time);</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="keywordtype">void</span> fill_raw_2dnoise16into8(uint8_t *pData, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height, uint8_t octaves, <a class="code" href="classq.html">q44</a> freq44, fract8 amplitude, <span class="keywordtype">int</span> skip, uint32_t x, <span class="keywordtype">int</span> scalex, uint32_t y, <span class="keywordtype">int</span> scaley, uint32_t time);</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="keywordtype">void</span> fill_raw_2dnoise16(uint16_t *pData, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height, uint8_t octaves, <a class="code" href="classq.html">q88</a> freq88, <a class="code" href="group__lib8tion.html#gaaf46b9f719ef3bdb574f8e967af6dbb5">fract16</a> amplitude, <span class="keywordtype">int</span> skip, uint32_t x, <span class="keywordtype">int</span> scalex, uint32_t y, <span class="keywordtype">int</span> scaley, uint32_t time);</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="keywordtype">void</span> fill_raw_2dnoise16into8(uint8_t *pData, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height, uint8_t octaves, <a class="code" href="classq.html">q44</a> freq44, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> amplitude, <span class="keywordtype">int</span> skip, uint32_t x, <span class="keywordtype">int</span> scalex, uint32_t y, <span class="keywordtype">int</span> scaley, uint32_t time);</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="keywordtype">void</span> fill_noise8(<a class="code" href="struct_c_r_g_b.html">CRGB</a> *leds, <span class="keywordtype">int</span> num_leds,</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; uint8_t octaves, uint16_t x, <span class="keywordtype">int</span> scale,</div>
@@ -138,12 +138,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</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:83</div></div>
+<div class="ttc" id="group__lib8tion_html_gaaf46b9f719ef3bdb574f8e967af6dbb5"><div class="ttname"><a href="group__lib8tion.html#gaaf46b9f719ef3bdb574f8e967af6dbb5">fract16</a></div><div class="ttdeci">uint16_t fract16</div><div class="ttdoc">ANSI: unsigned _Fract. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:332</div></div>
+<div class="ttc" id="group__lib8tion_html_ga5d6d013429a5b8a09d564d6137217644"><div class="ttname"><a href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a></div><div class="ttdeci">uint8_t fract8</div><div class="ttdoc">ANSI unsigned short _Fract. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:324</div></div>
<div class="ttc" id="group___noise_html_ga810bdc406dcf8fd5b7add9041aa18abd"><div class="ttname"><a href="group___noise.html#ga810bdc406dcf8fd5b7add9041aa18abd">inoise16_raw</a></div><div class="ttdeci">int16_t inoise16_raw(uint32_t x, uint32_t y, uint32_t z)</div><div class="ttdoc">16 bit raw versions of the noise functions. </div><div class="ttdef"><b>Definition:</b> noise.cpp:245</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:733</div></div>
+<div class="ttc" id="classq_html"><div class="ttname"><a href="classq.html">q</a></div><div class="ttdoc">Template class for represneting fractional ints. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:743</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/pages.html b/docs/3.1/pages.html
index 7b8b0a8b..92a81657 100644
--- a/docs/3.1/pages.html
+++ b/docs/3.1/pages.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/pixeltypes_8h_source.html b/docs/3.1/pixeltypes_8h_source.html
index c121f748..a172603b 100644
--- a/docs/3.1/pixeltypes_8h_source.html
+++ b/docs/3.1/pixeltypes_8h_source.html
@@ -529,7 +529,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; blue = (blue * factor) / 256;</div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; }</div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="keyword">inline</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> lerp8( <a class="code" href="struct_c_r_g_b.html">CRGB</a> &amp; other, fract8 frac)</div>
+<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="keyword">inline</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> lerp8( <a class="code" href="struct_c_r_g_b.html">CRGB</a> &amp; other, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> frac)</div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; {</div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <a class="code" href="struct_c_r_g_b.html">CRGB</a> ret;</div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160;</div>
@@ -540,7 +540,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">return</span> ret;</div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; }</div>
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="keyword">inline</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> lerp16( <a class="code" href="struct_c_r_g_b.html">CRGB</a> &amp; other, fract16 frac)</div>
+<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="keyword">inline</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> lerp16( <a class="code" href="struct_c_r_g_b.html">CRGB</a> &amp; other, <a class="code" href="group__lib8tion.html#gaaf46b9f719ef3bdb574f8e967af6dbb5">fract16</a> frac)</div>
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; {</div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <a class="code" href="struct_c_r_g_b.html">CRGB</a> ret;</div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;</div>
@@ -907,11 +907,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="ttc" id="group___math_html_ga9d113e85065df7c9006704ea6b6dcda4"><div class="ttname"><a href="group___math.html#ga9d113e85065df7c9006704ea6b6dcda4">qmul8</a></div><div class="ttdeci">LIB8STATIC uint8_t qmul8(uint8_t i, uint8_t j)</div><div class="ttdoc">saturating 8x8 bit multiplication, with 8 bit result </div><div class="ttdef"><b>Definition:</b> math8.h:267</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:83</div></div>
-<div class="ttc" id="group__lib8tion_html_ga62ed4425400bc4140902347dc54ffb72"><div class="ttname"><a href="group__lib8tion.html#ga62ed4425400bc4140902347dc54ffb72">lerp8by8</a></div><div class="ttdeci">LIB8STATIC uint8_t lerp8by8(uint8_t a, uint8_t b, fract8 frac)</div><div class="ttdoc">linear interpolation between two unsigned 8-bit values, with 8-bit fraction </div><div class="ttdef"><b>Definition:</b> lib8tion.h:436</div></div>
-<div class="ttc" id="group__lib8tion_html_ga7c02960d0f26e90054c7312e5f9a55b3"><div class="ttname"><a href="group__lib8tion.html#ga7c02960d0f26e90054c7312e5f9a55b3">lerp16by16</a></div><div class="ttdeci">LIB8STATIC uint16_t lerp16by16(uint16_t a, uint16_t b, fract16 frac)</div><div class="ttdoc">linear interpolation between two unsigned 16-bit values, with 16-bit fraction </div><div class="ttdef"><b>Definition:</b> lib8tion.h:453</div></div>
+<div class="ttc" id="group__lib8tion_html_ga62ed4425400bc4140902347dc54ffb72"><div class="ttname"><a href="group__lib8tion.html#ga62ed4425400bc4140902347dc54ffb72">lerp8by8</a></div><div class="ttdeci">LIB8STATIC uint8_t lerp8by8(uint8_t a, uint8_t b, fract8 frac)</div><div class="ttdoc">linear interpolation between two unsigned 8-bit values, with 8-bit fraction </div><div class="ttdef"><b>Definition:</b> lib8tion.h:446</div></div>
+<div class="ttc" id="group__lib8tion_html_gaaf46b9f719ef3bdb574f8e967af6dbb5"><div class="ttname"><a href="group__lib8tion.html#gaaf46b9f719ef3bdb574f8e967af6dbb5">fract16</a></div><div class="ttdeci">uint16_t fract16</div><div class="ttdoc">ANSI: unsigned _Fract. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:332</div></div>
+<div class="ttc" id="group__lib8tion_html_ga7c02960d0f26e90054c7312e5f9a55b3"><div class="ttname"><a href="group__lib8tion.html#ga7c02960d0f26e90054c7312e5f9a55b3">lerp16by16</a></div><div class="ttdeci">LIB8STATIC uint16_t lerp16by16(uint16_t a, uint16_t b, fract16 frac)</div><div class="ttdoc">linear interpolation between two unsigned 16-bit values, with 16-bit fraction </div><div class="ttdef"><b>Definition:</b> lib8tion.h:463</div></div>
<div class="ttc" id="group___math_html_gaaaa16f47aca46653d51793b1af177587"><div class="ttname"><a href="group___math.html#gaaaa16f47aca46653d51793b1af177587">qsub8</a></div><div class="ttdeci">LIB8STATIC uint8_t qsub8(uint8_t i, uint8_t j)</div><div class="ttdoc">subtract one byte from another, saturating at 0x00 </div><div class="ttdef"><b>Definition:</b> math8.h:86</div></div>
<div class="ttc" id="group___math_html_ga38e9f9a8830353f9cbfecad7c8758b1f"><div class="ttname"><a href="group___math.html#ga38e9f9a8830353f9cbfecad7c8758b1f">qadd8</a></div><div class="ttdeci">LIB8STATIC uint8_t qadd8(uint8_t i, uint8_t j)</div><div class="ttdoc">add one byte to another, saturating at 0xFF </div><div class="ttdef"><b>Definition:</b> math8.h:21</div></div>
<div class="ttc" id="group___scaling_html_ga700b7f510f32e8c91385093c436c27d9"><div class="ttname"><a href="group___scaling.html#ga700b7f510f32e8c91385093c436c27d9">nscale8x3_video</a></div><div class="ttdeci">LIB8STATIC void nscale8x3_video(uint8_t &amp;r, uint8_t &amp;g, uint8_t &amp;b, fract8 scale)</div><div class="ttdoc">scale three one byte values by a fourth one, which is treated as the numerator of a fraction whose de...</div><div class="ttdef"><b>Definition:</b> scale8.h:282</div></div>
+<div class="ttc" id="group__lib8tion_html_ga5d6d013429a5b8a09d564d6137217644"><div class="ttname"><a href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a></div><div class="ttdeci">uint8_t fract8</div><div class="ttdoc">ANSI unsigned short _Fract. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:324</div></div>
<div class="ttc" id="group___scaling_html_ga39579fcf09743f15545fe0b831ca313c"><div class="ttname"><a href="group___scaling.html#ga39579fcf09743f15545fe0b831ca313c">scale8_LEAVING_R1_DIRTY</a></div><div class="ttdeci">LIB8STATIC uint8_t scale8_LEAVING_R1_DIRTY(uint8_t i, fract8 scale)</div><div class="ttdoc">This version of scale8 does not clean up the R1 register on AVR If you are doing several &#39;scale8&#39;s in...</div><div class="ttdef"><b>Definition:</b> scale8.h:121</div></div>
<div class="ttc" id="group___color_enums_html_gadf6bcba67c9573665af20788c4431ae8"><div class="ttname"><a href="group___color_enums.html#gadf6bcba67c9573665af20788c4431ae8">LEDColorCorrection</a></div><div class="ttdeci">LEDColorCorrection</div><div class="ttdef"><b>Definition:</b> color.h:9</div></div>
<div class="ttc" id="group___scaling_html_ga572d0b441676c9d8ceb071fe8284b7e9"><div class="ttname"><a href="group___scaling.html#ga572d0b441676c9d8ceb071fe8284b7e9">cleanup_R1</a></div><div class="ttdeci">LIB8STATIC void cleanup_R1()</div><div class="ttdoc">Clean up the r1 register after a series of *LEAVING_R1_DIRTY calls. </div><div class="ttdef"><b>Definition:</b> scale8.h:244</div></div>
@@ -922,7 +924,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/platforms_8h_source.html b/docs/3.1/platforms_8h_source.html
index aa507662..31125d3f 100644
--- a/docs/3.1/platforms_8h_source.html
+++ b/docs/3.1/platforms_8h_source.html
@@ -118,7 +118,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/power__mgt_8h_source.html b/docs/3.1/power__mgt_8h_source.html
index 4624e16a..d9af2c3c 100644
--- a/docs/3.1/power__mgt_8h_source.html
+++ b/docs/3.1/power__mgt_8h_source.html
@@ -143,7 +143,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/random8_8h_source.html b/docs/3.1/random8_8h_source.html
index d10dedf1..0747540e 100644
--- a/docs/3.1/random8_8h_source.html
+++ b/docs/3.1/random8_8h_source.html
@@ -172,7 +172,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/scale8_8h_source.html b/docs/3.1/scale8_8h_source.html
index 363f7d01..487a39b5 100644
--- a/docs/3.1/scale8_8h_source.html
+++ b/docs/3.1/scale8_8h_source.html
@@ -96,7 +96,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="l00005"></a><span class="lineno"> 5</span>&#160;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
-<div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="group___scaling.html#ga6c160f8c36ce9b3c5eda68e4992010af"> 20</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group___scaling.html#ga6c160f8c36ce9b3c5eda68e4992010af">scale8</a>( uint8_t i, fract8 scale)</div>
+<div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="group___scaling.html#ga6c160f8c36ce9b3c5eda68e4992010af"> 20</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group___scaling.html#ga6c160f8c36ce9b3c5eda68e4992010af">scale8</a>( uint8_t i, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> scale)</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;<span class="preprocessor">#if SCALE8_C == 1</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="keywordflow">return</span> ((uint16_t)i * (uint16_t)(scale) ) &gt;&gt; 8;</div>
@@ -144,7 +144,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<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;</div>
-<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="group___scaling.html#ga333095ffa436c94d3e77ee9dc39da1c1"> 73</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group___scaling.html#ga333095ffa436c94d3e77ee9dc39da1c1">scale8_video</a>( uint8_t i, fract8 scale)</div>
+<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="group___scaling.html#ga333095ffa436c94d3e77ee9dc39da1c1"> 73</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group___scaling.html#ga333095ffa436c94d3e77ee9dc39da1c1">scale8_video</a>( uint8_t i, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> scale)</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;{</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor">#if SCALE8_C == 1 || defined(LIB8_ATTINY)</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; uint8_t j = (((int)i * (<span class="keywordtype">int</span>)scale) &gt;&gt; 8) + ((i&amp;&amp;scale)?1:0);</div>
@@ -189,7 +189,7 @@ 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;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="group___scaling.html#ga39579fcf09743f15545fe0b831ca313c"> 121</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group___scaling.html#ga39579fcf09743f15545fe0b831ca313c">scale8_LEAVING_R1_DIRTY</a>( uint8_t i, fract8 scale)</div>
+<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="group___scaling.html#ga39579fcf09743f15545fe0b831ca313c"> 121</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group___scaling.html#ga39579fcf09743f15545fe0b831ca313c">scale8_LEAVING_R1_DIRTY</a>( uint8_t i, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> scale)</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;<span class="preprocessor">#if SCALE8_C == 1</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span> ((<span class="keywordtype">int</span>)i * (<span class="keywordtype">int</span>)(scale) ) &gt;&gt; 8;</div>
@@ -214,7 +214,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<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="l00149"></a><span class="lineno"> 149</span>&#160;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="group___scaling.html#ga5f6dde3d9398f4b389c96e759a3f7b80"> 150</a></span>&#160;LIB8STATIC <span class="keywordtype">void</span> <a class="code" href="group___scaling.html#ga5f6dde3d9398f4b389c96e759a3f7b80">nscale8_LEAVING_R1_DIRTY</a>( uint8_t&amp; i, fract8 scale)</div>
+<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="group___scaling.html#ga5f6dde3d9398f4b389c96e759a3f7b80"> 150</a></span>&#160;LIB8STATIC <span class="keywordtype">void</span> <a class="code" href="group___scaling.html#ga5f6dde3d9398f4b389c96e759a3f7b80">nscale8_LEAVING_R1_DIRTY</a>( uint8_t&amp; i, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> scale)</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;{</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="preprocessor">#if SCALE8_C == 1</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; i = ((int)i * (<span class="keywordtype">int</span>)(scale) ) &gt;&gt; 8;</div>
@@ -236,7 +236,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<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;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="group___scaling.html#gab341cef8d46232269bb70092fed9eb75"> 175</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group___scaling.html#gab341cef8d46232269bb70092fed9eb75">scale8_video_LEAVING_R1_DIRTY</a>( uint8_t i, fract8 scale)</div>
+<div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="group___scaling.html#gab341cef8d46232269bb70092fed9eb75"> 175</a></span>&#160;LIB8STATIC uint8_t <a class="code" href="group___scaling.html#gab341cef8d46232269bb70092fed9eb75">scale8_video_LEAVING_R1_DIRTY</a>( uint8_t i, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> scale)</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;{</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="preprocessor">#if SCALE8_C == 1 || defined(LIB8_ATTINY)</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; uint8_t j = (((int)i * (<span class="keywordtype">int</span>)scale) &gt;&gt; 8) + ((i&amp;&amp;scale)?1:0);</div>
@@ -279,7 +279,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;}</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;</div>
-<div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="group___scaling.html#ga2a580fcaa010558218faae95d1936635"> 222</a></span>&#160;LIB8STATIC <span class="keywordtype">void</span> <a class="code" href="group___scaling.html#ga2a580fcaa010558218faae95d1936635">nscale8_video_LEAVING_R1_DIRTY</a>( uint8_t &amp; i, fract8 scale)</div>
+<div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="group___scaling.html#ga2a580fcaa010558218faae95d1936635"> 222</a></span>&#160;LIB8STATIC <span class="keywordtype">void</span> <a class="code" href="group___scaling.html#ga2a580fcaa010558218faae95d1936635">nscale8_video_LEAVING_R1_DIRTY</a>( uint8_t &amp; i, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> scale)</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;{</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;<span class="preprocessor">#if SCALE8_C == 1 || defined(LIB8_ATTINY)</span></div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; i = (((int)i * (<span class="keywordtype">int</span>)scale) &gt;&gt; 8) + ((i&amp;&amp;scale)?1:0);</div>
@@ -310,7 +310,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;</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"><a class="line" href="group___scaling.html#ga39bf87e5526120889086cab19ac749b1"> 259</a></span>&#160;LIB8STATIC <span class="keywordtype">void</span> <a class="code" href="group___scaling.html#ga39bf87e5526120889086cab19ac749b1">nscale8x3</a>( uint8_t&amp; r, uint8_t&amp; g, uint8_t&amp; b, fract8 scale)</div>
+<div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="group___scaling.html#ga39bf87e5526120889086cab19ac749b1"> 259</a></span>&#160;LIB8STATIC <span class="keywordtype">void</span> <a class="code" href="group___scaling.html#ga39bf87e5526120889086cab19ac749b1">nscale8x3</a>( uint8_t&amp; r, uint8_t&amp; g, uint8_t&amp; b, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> scale)</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;{</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;<span class="preprocessor">#if SCALE8_C == 1</span></div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; r = ((int)r * (<span class="keywordtype">int</span>)(scale) ) &gt;&gt; 8;</div>
@@ -326,7 +326,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;}</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="group___scaling.html#ga700b7f510f32e8c91385093c436c27d9"> 282</a></span>&#160;LIB8STATIC <span class="keywordtype">void</span> <a class="code" href="group___scaling.html#ga700b7f510f32e8c91385093c436c27d9">nscale8x3_video</a>( uint8_t&amp; r, uint8_t&amp; g, uint8_t&amp; b, fract8 scale)</div>
+<div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="group___scaling.html#ga700b7f510f32e8c91385093c436c27d9"> 282</a></span>&#160;LIB8STATIC <span class="keywordtype">void</span> <a class="code" href="group___scaling.html#ga700b7f510f32e8c91385093c436c27d9">nscale8x3_video</a>( uint8_t&amp; r, uint8_t&amp; g, uint8_t&amp; b, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> scale)</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;<span class="preprocessor">#if SCALE8_C == 1</span></div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; uint8_t nonzeroscale = (scale != 0) ? 1 : 0;</div>
@@ -344,7 +344,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<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="l00304"></a><span class="lineno"> 304</span>&#160;</div>
-<div class="line"><a name="l00305"></a><span class="lineno"><a class="line" href="group___scaling.html#ga6f419761a744efed4bae8875ac07aef0"> 305</a></span>&#160;LIB8STATIC <span class="keywordtype">void</span> <a class="code" href="group___scaling.html#ga6f419761a744efed4bae8875ac07aef0">nscale8x2</a>( uint8_t&amp; i, uint8_t&amp; j, fract8 scale)</div>
+<div class="line"><a name="l00305"></a><span class="lineno"><a class="line" href="group___scaling.html#ga6f419761a744efed4bae8875ac07aef0"> 305</a></span>&#160;LIB8STATIC <span class="keywordtype">void</span> <a class="code" href="group___scaling.html#ga6f419761a744efed4bae8875ac07aef0">nscale8x2</a>( uint8_t&amp; i, uint8_t&amp; j, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> scale)</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;{</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;<span class="preprocessor">#if SCALE8_C == 1</span></div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; i = ((int)i * (<span class="keywordtype">int</span>)(scale) ) &gt;&gt; 8;</div>
@@ -360,7 +360,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;</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"><a class="line" href="group___scaling.html#ga4204edd4a3f8aac7124a10f1f5cfccfe"> 328</a></span>&#160;LIB8STATIC <span class="keywordtype">void</span> <a class="code" href="group___scaling.html#ga4204edd4a3f8aac7124a10f1f5cfccfe">nscale8x2_video</a>( uint8_t&amp; i, uint8_t&amp; j, fract8 scale)</div>
+<div class="line"><a name="l00328"></a><span class="lineno"><a class="line" href="group___scaling.html#ga4204edd4a3f8aac7124a10f1f5cfccfe"> 328</a></span>&#160;LIB8STATIC <span class="keywordtype">void</span> <a class="code" href="group___scaling.html#ga4204edd4a3f8aac7124a10f1f5cfccfe">nscale8x2_video</a>( uint8_t&amp; i, uint8_t&amp; j, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> scale)</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">#if SCALE8_C == 1</span></div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; uint8_t nonzeroscale = (scale != 0) ? 1 : 0;</div>
@@ -377,7 +377,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;</div>
-<div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="group___scaling.html#gaf34fde0746c9c2e5ed44f9c437a2267e"> 348</a></span>&#160;LIB8STATIC uint16_t <a class="code" href="group___scaling.html#gaf34fde0746c9c2e5ed44f9c437a2267e">scale16by8</a>( uint16_t i, fract8 scale )</div>
+<div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="group___scaling.html#gaf34fde0746c9c2e5ed44f9c437a2267e"> 348</a></span>&#160;LIB8STATIC uint16_t <a class="code" href="group___scaling.html#gaf34fde0746c9c2e5ed44f9c437a2267e">scale16by8</a>( uint16_t i, <a class="code" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> scale )</div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;{</div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;<span class="preprocessor">#if SCALE16BY8_C == 1</span></div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; uint16_t result;</div>
@@ -410,7 +410,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;}</div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;</div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160;</div>
-<div class="line"><a name="l00384"></a><span class="lineno"><a class="line" href="group___scaling.html#ga1ff8ac00ad78e22acc7bb7445bfdb145"> 384</a></span>&#160;LIB8STATIC uint16_t <a class="code" href="group___scaling.html#ga1ff8ac00ad78e22acc7bb7445bfdb145">scale16</a>( uint16_t i, fract16 scale )</div>
+<div class="line"><a name="l00384"></a><span class="lineno"><a class="line" href="group___scaling.html#ga1ff8ac00ad78e22acc7bb7445bfdb145"> 384</a></span>&#160;LIB8STATIC uint16_t <a class="code" href="group___scaling.html#ga1ff8ac00ad78e22acc7bb7445bfdb145">scale16</a>( uint16_t i, <a class="code" href="group__lib8tion.html#gaaf46b9f719ef3bdb574f8e967af6dbb5">fract16</a> scale )</div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;{</div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;<span class="preprocessor"> #if SCALE16_C == 1</span></div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; uint16_t result;</div>
@@ -521,6 +521,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="group___dimming_html_gae51352a3522bb8eae5e17dbee97aa1aa"><div class="ttname"><a href="group___dimming.html#gae51352a3522bb8eae5e17dbee97aa1aa">dim8_raw</a></div><div class="ttdeci">LIB8STATIC uint8_t dim8_raw(uint8_t x)</div><div class="ttdoc">Adjust a scaling value for dimming. </div><div class="ttdef"><b>Definition:</b> scale8.h:460</div></div>
<div class="ttc" id="group___dimming_html_ga094bda002b416c66e57521fc93878830"><div class="ttname"><a href="group___dimming.html#ga094bda002b416c66e57521fc93878830">brighten8_lin</a></div><div class="ttdeci">LIB8STATIC uint8_t brighten8_lin(uint8_t x)</div><div class="ttdoc">inverse of the dimming function, brighten a value </div><div class="ttdef"><b>Definition:</b> scale8.h:498</div></div>
<div class="ttc" id="group___scaling_html_gab341cef8d46232269bb70092fed9eb75"><div class="ttname"><a href="group___scaling.html#gab341cef8d46232269bb70092fed9eb75">scale8_video_LEAVING_R1_DIRTY</a></div><div class="ttdeci">LIB8STATIC uint8_t scale8_video_LEAVING_R1_DIRTY(uint8_t i, fract8 scale)</div><div class="ttdoc">This version of scale8_video does not clean up the R1 register on AVR If you are doing several &#39;scale...</div><div class="ttdef"><b>Definition:</b> scale8.h:175</div></div>
+<div class="ttc" id="group__lib8tion_html_gaaf46b9f719ef3bdb574f8e967af6dbb5"><div class="ttname"><a href="group__lib8tion.html#gaaf46b9f719ef3bdb574f8e967af6dbb5">fract16</a></div><div class="ttdeci">uint16_t fract16</div><div class="ttdoc">ANSI: unsigned _Fract. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:332</div></div>
<div class="ttc" id="group___scaling_html_ga6c160f8c36ce9b3c5eda68e4992010af"><div class="ttname"><a href="group___scaling.html#ga6c160f8c36ce9b3c5eda68e4992010af">scale8</a></div><div class="ttdeci">LIB8STATIC uint8_t scale8(uint8_t i, fract8 scale)</div><div class="ttdoc">scale one byte by a second one, which is treated as the numerator of a fraction whose denominator is ...</div><div class="ttdef"><b>Definition:</b> scale8.h:20</div></div>
<div class="ttc" id="group___dimming_html_ga3f94d2455e0aa92133f77af8747b5914"><div class="ttname"><a href="group___dimming.html#ga3f94d2455e0aa92133f77af8747b5914">dim8_lin</a></div><div class="ttdeci">LIB8STATIC uint8_t dim8_lin(uint8_t x)</div><div class="ttdoc">Linear version of the dimming function that halves for values < 128. </div><div class="ttdef"><b>Definition:</b> scale8.h:472</div></div>
<div class="ttc" id="group___scaling_html_ga4204edd4a3f8aac7124a10f1f5cfccfe"><div class="ttname"><a href="group___scaling.html#ga4204edd4a3f8aac7124a10f1f5cfccfe">nscale8x2_video</a></div><div class="ttdeci">LIB8STATIC void nscale8x2_video(uint8_t &amp;i, uint8_t &amp;j, fract8 scale)</div><div class="ttdoc">scale two one byte values by a third one, which is treated as the numerator of a fraction whose demom...</div><div class="ttdef"><b>Definition:</b> scale8.h:328</div></div>
@@ -531,6 +532,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="group___dimming_html_gae8e36472a70f3016595048532d6c3a2d"><div class="ttname"><a href="group___dimming.html#gae8e36472a70f3016595048532d6c3a2d">brighten8_raw</a></div><div class="ttdeci">LIB8STATIC uint8_t brighten8_raw(uint8_t x)</div><div class="ttdoc">inverse of the dimming function, brighten a value </div><div class="ttdef"><b>Definition:</b> scale8.h:484</div></div>
<div class="ttc" id="group___scaling_html_ga700b7f510f32e8c91385093c436c27d9"><div class="ttname"><a href="group___scaling.html#ga700b7f510f32e8c91385093c436c27d9">nscale8x3_video</a></div><div class="ttdeci">LIB8STATIC void nscale8x3_video(uint8_t &amp;r, uint8_t &amp;g, uint8_t &amp;b, fract8 scale)</div><div class="ttdoc">scale three one byte values by a fourth one, which is treated as the numerator of a fraction whose de...</div><div class="ttdef"><b>Definition:</b> scale8.h:282</div></div>
<div class="ttc" id="group___dimming_html_gad21876a676bcf26c47f957faed23f9bb"><div class="ttname"><a href="group___dimming.html#gad21876a676bcf26c47f957faed23f9bb">brighten8_video</a></div><div class="ttdeci">LIB8STATIC uint8_t brighten8_video(uint8_t x)</div><div class="ttdoc">inverse of the dimming function, brighten a value </div><div class="ttdef"><b>Definition:</b> scale8.h:491</div></div>
+<div class="ttc" id="group__lib8tion_html_ga5d6d013429a5b8a09d564d6137217644"><div class="ttname"><a href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a></div><div class="ttdeci">uint8_t fract8</div><div class="ttdoc">ANSI unsigned short _Fract. </div><div class="ttdef"><b>Definition:</b> lib8tion.h:324</div></div>
<div class="ttc" id="group___scaling_html_ga39579fcf09743f15545fe0b831ca313c"><div class="ttname"><a href="group___scaling.html#ga39579fcf09743f15545fe0b831ca313c">scale8_LEAVING_R1_DIRTY</a></div><div class="ttdeci">LIB8STATIC uint8_t scale8_LEAVING_R1_DIRTY(uint8_t i, fract8 scale)</div><div class="ttdoc">This version of scale8 does not clean up the R1 register on AVR If you are doing several &#39;scale8&#39;s in...</div><div class="ttdef"><b>Definition:</b> scale8.h:121</div></div>
<div class="ttc" id="group___scaling_html_ga572d0b441676c9d8ceb071fe8284b7e9"><div class="ttname"><a href="group___scaling.html#ga572d0b441676c9d8ceb071fe8284b7e9">cleanup_R1</a></div><div class="ttdeci">LIB8STATIC void cleanup_R1()</div><div class="ttdoc">Clean up the r1 register after a series of *LEAVING_R1_DIRTY calls. </div><div class="ttdef"><b>Definition:</b> scale8.h:244</div></div>
<div class="ttc" id="group___scaling_html_ga6f419761a744efed4bae8875ac07aef0"><div class="ttname"><a href="group___scaling.html#ga6f419761a744efed4bae8875ac07aef0">nscale8x2</a></div><div class="ttdeci">LIB8STATIC void nscale8x2(uint8_t &amp;i, uint8_t &amp;j, fract8 scale)</div><div class="ttdoc">scale two one byte values by a third one, which is treated as the numerator of a fraction whose demom...</div><div class="ttdef"><b>Definition:</b> scale8.h:305</div></div>
@@ -540,7 +542,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/search/all_1.js b/docs/3.1/search/all_1.js
index 5abb1b5e..b100aa2c 100644
--- a/docs/3.1/search/all_1.js
+++ b/docs/3.1/search/all_1.js
@@ -1,6 +1,9 @@
var searchData=
[
['abs8',['abs8',['../group___math.html#ga4bf8996c4a130e96521495d4a1395a01',1,'math8.h']]],
+ ['accum124',['accum124',['../group__lib8tion.html#ga7bcc9ebf20b0dd74d9999d5a630d443f',1,'lib8tion.h']]],
+ ['accum1616',['accum1616',['../group__lib8tion.html#gae3ac7def25ef5ddea2da1a3bc0c00f44',1,'lib8tion.h']]],
+ ['accum88',['accum88',['../group__lib8tion.html#ga397f872082dbd788e04e8c6e443e563a',1,'lib8tion.h']]],
['add8',['add8',['../group___math.html#ga9f1f93145ca1955562b7f50f5db96ac1',1,'math8.h']]],
['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)']]],
['addmod8',['addmod8',['../group___math.html#ga2bcd51c47538dbc933999382e272a7a7',1,'math8.h']]],
diff --git a/docs/3.1/search/all_10.js b/docs/3.1/search/all_10.js
index 4d4825d0..1b67ef2f 100644
--- a/docs/3.1/search/all_10.js
+++ b/docs/3.1/search/all_10.js
@@ -1,6 +1,10 @@
var searchData=
[
['q',['q',['../classq.html',1,'']]],
+ ['q124',['q124',['../group__lib8tion.html#ga0f02a1da674754f48c5f89c1610e118c',1,'lib8tion.h']]],
+ ['q44',['q44',['../group__lib8tion.html#ga85082c3ed8843d32076222e82d72f80d',1,'lib8tion.h']]],
+ ['q62',['q62',['../group__lib8tion.html#gafea4166e233d92817eada7203021089a',1,'lib8tion.h']]],
+ ['q88',['q88',['../group__lib8tion.html#gad5dca0e1248b916799dde6dc44ef369b',1,'lib8tion.h']]],
['qadd7',['qadd7',['../group___math.html#gadf60ccff727f52078aecdd5873b6f0bc',1,'math8.h']]],
['qadd8',['qadd8',['../group___math.html#ga38e9f9a8830353f9cbfecad7c8758b1f',1,'math8.h']]],
['qmul8',['qmul8',['../group___math.html#ga9d113e85065df7c9006704ea6b6dcda4',1,'math8.h']]],
diff --git a/docs/3.1/search/all_12.js b/docs/3.1/search/all_12.js
index 71534e3a..80c845c9 100644
--- a/docs/3.1/search/all_12.js
+++ b/docs/3.1/search/all_12.js
@@ -1,5 +1,8 @@
var searchData=
[
+ ['saccum114',['saccum114',['../group__lib8tion.html#ga95e7a40d98aa0371e9adce9220d3a67c',1,'lib8tion.h']]],
+ ['saccum1516',['saccum1516',['../group__lib8tion.html#gad2dad84f67c8a4cc6d4c92e2c7d3e89f',1,'lib8tion.h']]],
+ ['saccum78',['saccum78',['../group__lib8tion.html#ga9585be88f27cab4c367399d8e91c8467',1,'lib8tion.h']]],
['scale16',['scale16',['../group___scaling.html#ga1ff8ac00ad78e22acc7bb7445bfdb145',1,'scale8.h']]],
['scale16by8',['scale16by8',['../group___scaling.html#gaf34fde0746c9c2e5ed44f9c437a2267e',1,'scale8.h']]],
['scale8',['scale8',['../group___scaling.html#ga6c160f8c36ce9b3c5eda68e4992010af',1,'scale8.h']]],
@@ -15,7 +18,9 @@ var searchData=
['setleds',['setLeds',['../class_c_l_e_d_controller.html#a5b08378b29f92c5def65175ec5334037',1,'CLEDController']]],
['setmaxrefreshrate',['setMaxRefreshRate',['../class_c_fast_l_e_d.html#a1f39e8404db214bbd6a776f52a77d8b1',1,'CFastLED']]],
['settemperature',['setTemperature',['../class_c_l_e_d_controller.html#a69ac4a882bdc4a813ae957ddedb5a883',1,'CLEDController::setTemperature(CRGB temperature)'],['../class_c_l_e_d_controller.html#a1e6d35be39f9f67aacdb4709ea914ab4',1,'CLEDController::setTemperature(ColorTemperature temperature)'],['../class_c_fast_l_e_d.html#a28c2dfb0ec592db03f3063ade135f19f',1,'CFastLED::setTemperature()']]],
+ ['sfract15',['sfract15',['../group__lib8tion.html#ga00cb5dc9e5b477a58669a3e40bc473c2',1,'lib8tion.h']]],
['sfract15tofloat',['sfract15ToFloat',['../group__lib8tion.html#gab947c1150e3b9056cb91685a14270173',1,'lib8tion.h']]],
+ ['sfract7',['sfract7',['../group__lib8tion.html#ga7d6219a7247ab1923ed623e7ae0f34ae',1,'lib8tion.h']]],
['show',['show',['../class_l_p_d8806_controller.html#a31d4e01a823682556e26748193f722e5',1,'LPD8806Controller::show()'],['../class_w_s2801_controller.html#a69fca4db95f5f60f27d7d1a8c7fa16a0',1,'WS2801Controller::show(const struct CRGB *data, int nLeds, CRGB scale)'],['../class_w_s2801_controller.html#a69fca4db95f5f60f27d7d1a8c7fa16a0',1,'WS2801Controller::show(const struct CRGB *data, int nLeds, CRGB scale)'],['../class_a_p_a102_controller.html#a245148d2621eb73999ab673852c49332',1,'APA102Controller::show(const struct CRGB *data, int nLeds, CRGB scale)'],['../class_a_p_a102_controller.html#a245148d2621eb73999ab673852c49332',1,'APA102Controller::show(const struct CRGB *data, int nLeds, CRGB scale)'],['../class_p9813_controller.html#aac4f48b0da93055c0da7285839c4ce81',1,'P9813Controller::show(const struct CRGB *data, int nLeds, CRGB scale)'],['../class_p9813_controller.html#aac4f48b0da93055c0da7285839c4ce81',1,'P9813Controller::show(const struct CRGB *data, int nLeds, CRGB scale)'],['../class_s_m16716_controller.html#a3d720053186fd61d6ad90d48cac3d57d',1,'SM16716Controller::show()'],['../class_c_l_e_d_controller.html#add284627121ffab140e083e84fadc37f',1,'CLEDController::show(const struct CRGB *data, int nLeds, CRGB scale)=0'],['../class_c_l_e_d_controller.html#abe990b9a65f5bff1f391cc5c28752abb',1,'CLEDController::show(const struct CRGB *data, int nLeds, uint8_t brightness)'],['../class_d_m_x_simple_controller.html#a29df92ccb41090893fa3c49f22b47186',1,'DMXSimpleController::show()'],['../class_d_m_x_serial_controller.html#a3f3f3e606e495fd1bdcfd25c6bed7fe1',1,'DMXSerialController::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_l_p_d8806_controller.html#a4f6471eddcfe5445502b02f1f3179259',1,'LPD8806Controller::showColor()'],['../class_w_s2801_controller.html#a615609bf16dd4c8fcc9ccf286ca52501',1,'WS2801Controller::showColor()'],['../class_a_p_a102_controller.html#a0aa9f2896fe8b23554623fd3de0d5428',1,'APA102Controller::showColor()'],['../class_p9813_controller.html#ae60dbfc4d27c62448032c61e7730ec8a',1,'P9813Controller::showColor()'],['../class_s_m16716_controller.html#a7df8b8a34e0dc067c69aa056deca9677',1,'SM16716Controller::showColor()'],['../class_c_l_e_d_controller.html#a068fa50d8c7d31bd8537b731eea84c92',1,'CLEDController::showColor(const struct CRGB &amp;data, int nLeds, CRGB scale)=0'],['../class_c_l_e_d_controller.html#a253069a734075b298da65d59d6efbb3b',1,'CLEDController::showColor(const struct CRGB &amp;data, int nLeds, uint8_t brightness)'],['../class_c_l_e_d_controller.html#a4ccd149ab7282817041a1ae4e586a9d4',1,'CLEDController::showColor(const struct CRGB &amp;data, uint8_t brightness=255)'],['../class_d_m_x_simple_controller.html#a3fb3a0501aae1d7a6aefb89f77168bd1',1,'DMXSimpleController::showColor()'],['../class_d_m_x_serial_controller.html#a3d6285e65af8862eb4b0d36d6d3df22b',1,'DMXSerialController::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)']]],
['showleds',['showLeds',['../class_c_l_e_d_controller.html#aa4124b1cf5546ad028166e7884276076',1,'CLEDController']]],
diff --git a/docs/3.1/search/all_6.js b/docs/3.1/search/all_6.js
index 852af997..e5714b4f 100644
--- a/docs/3.1/search/all_6.js
+++ b/docs/3.1/search/all_6.js
@@ -8,6 +8,8 @@ var searchData=
['fill_5fsolid',['fill_solid',['../group___colorutils.html#gac84d8820fd175567ba66413dfb8bc63b',1,'fill_solid(struct CRGB *leds, int numToFill, const struct CRGB &amp;color):&#160;colorutils.cpp'],['../group___colorutils.html#gad1abf13328e8dd1c483a270af77b17ed',1,'fill_solid(struct CHSV *targetArray, int numToFill, const struct CHSV &amp;hsvColor):&#160;colorutils.cpp'],['../group___colorutils.html#gac84d8820fd175567ba66413dfb8bc63b',1,'fill_solid(struct CRGB *leds, int numToFill, const struct CRGB &amp;color):&#160;colorutils.cpp'],['../group___colorutils.html#gad1abf13328e8dd1c483a270af77b17ed',1,'fill_solid(struct CHSV *targetArray, int numToFill, const struct CHSV &amp;hsvColor):&#160;colorutils.cpp']]],
['fl_5fprogmem',['FL_PROGMEM',['../group___colorpalletes.html#ga57a38373661043f74b292976e83c687b',1,'FL_PROGMEM():&#160;colorpalettes.cpp'],['../group___colorpalletes.html#ga57a38373661043f74b292976e83c687b',1,'FL_PROGMEM():&#160;colorpalettes.h']]],
['floattosfract15',['floatToSfract15',['../group__lib8tion.html#gaa2facbc0ec935e34c629aef43d6262c0',1,'lib8tion.h']]],
+ ['fract16',['fract16',['../group__lib8tion.html#gaaf46b9f719ef3bdb574f8e967af6dbb5',1,'lib8tion.h']]],
+ ['fract8',['fract8',['../group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644',1,'lib8tion.h']]],
['fast_20math_20functions',['Fast math functions',['../group__lib8tion.html',1,'']]],
['fastled3_2e0',['FastLED3.0',['../md_release_notes.html',1,'']]],
['fast_20random_20number_20generators',['Fast random number generators',['../group___random.html',1,'']]],
diff --git a/docs/3.1/search/searchdata.js b/docs/3.1/search/searchdata.js
index b4090243..2fe9e1af 100644
--- a/docs/3.1/search/searchdata.js
+++ b/docs/3.1/search/searchdata.js
@@ -5,10 +5,11 @@ var indexSectionsWithContent =
2: "bn",
3: "_abcdefghilmnopqrst",
4: "fr",
- 5: "cl",
- 6: "cdhotu",
- 7: "bcdfnps",
- 8: "fprt"
+ 5: "afqs",
+ 6: "cl",
+ 7: "cdhotu",
+ 8: "bcdfnps",
+ 9: "fprt"
};
var indexSectionNames =
@@ -18,10 +19,11 @@ var indexSectionNames =
2: "files",
3: "functions",
4: "variables",
- 5: "enums",
- 6: "enumvalues",
- 7: "groups",
- 8: "pages"
+ 5: "typedefs",
+ 6: "enums",
+ 7: "enumvalues",
+ 8: "groups",
+ 9: "pages"
};
var indexSectionLabels =
@@ -31,9 +33,10 @@ var indexSectionLabels =
2: "Files",
3: "Functions",
4: "Variables",
- 5: "Enumerations",
- 6: "Enumerator",
- 7: "Modules",
- 8: "Pages"
+ 5: "Typedefs",
+ 6: "Enumerations",
+ 7: "Enumerator",
+ 8: "Modules",
+ 9: "Pages"
};
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 8595b2dd..ca85900a 100644
--- a/docs/3.1/struct_c_h_s_v-members.html
+++ b/docs/3.1/struct_c_h_s_v-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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 6d49f783..2c3c7397 100644
--- a/docs/3.1/struct_c_h_s_v.html
+++ b/docs/3.1/struct_c_h_s_v.html
@@ -165,7 +165,7 @@ union {</td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 7f26d249..5a18c190 100644
--- a/docs/3.1/struct_c_r_g_b-members.html
+++ b/docs/3.1/struct_c_r_g_b-members.html
@@ -299,7 +299,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 7f2a4cd0..dbe309bd 100644
--- a/docs/3.1/struct_c_r_g_b.html
+++ b/docs/3.1/struct_c_r_g_b.html
@@ -415,10 +415,10 @@ uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>getAverageLight</b
void&#160;</td><td class="memItemRight" valign="bottom"><b>maximizeBrightness</b> (uint8_t limit=255)</td></tr>
<tr class="separator:a6b0b8f3da2b3b2b44778e142dbae47ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab29249e850cfb300590408edcbcf5704"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab29249e850cfb300590408edcbcf5704"></a>
-<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>lerp8</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;other, fract8 frac)</td></tr>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>lerp8</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;other, <a class="el" href="group__lib8tion.html#ga5d6d013429a5b8a09d564d6137217644">fract8</a> frac)</td></tr>
<tr class="separator:ab29249e850cfb300590408edcbcf5704"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77cbf242403cf6e190c6aa3598129e1c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a77cbf242403cf6e190c6aa3598129e1c"></a>
-<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>lerp16</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;other, fract16 frac)</td></tr>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>lerp16</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;other, <a class="el" href="group__lib8tion.html#gaaf46b9f719ef3bdb574f8e967af6dbb5">fract16</a> frac)</td></tr>
<tr class="separator:a77cbf242403cf6e190c6aa3598129e1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1469c62f5a3b4bdf755851606d8e71f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af1469c62f5a3b4bdf755851606d8e71f"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>getParity</b> ()</td></tr>
@@ -477,7 +477,7 @@ union {</td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 95e6c7a3..a5156fe9 100644
--- a/docs/3.1/struct_multi_pixel_controller-members.html
+++ b/docs/3.1/struct_multi_pixel_controller-members.html
@@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/struct_multi_pixel_controller.html b/docs/3.1/struct_multi_pixel_controller.html
index 3efe7891..6d881a39 100644
--- a/docs/3.1/struct_multi_pixel_controller.html
+++ b/docs/3.1/struct_multi_pixel_controller.html
@@ -268,7 +268,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 Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/struct_pixel_controller-members.html b/docs/3.1/struct_pixel_controller-members.html
index fecd83e2..704d79c1 100644
--- a/docs/3.1/struct_pixel_controller-members.html
+++ b/docs/3.1/struct_pixel_controller-members.html
@@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/struct_pixel_controller.html b/docs/3.1/struct_pixel_controller.html
index d318ea0a..490d2651 100644
--- a/docs/3.1/struct_pixel_controller.html
+++ b/docs/3.1/struct_pixel_controller.html
@@ -302,7 +302,7 @@ template&lt;EOrder RGB_ORDER&gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/structsub4-members.html b/docs/3.1/structsub4-members.html
index 95d13582..d873e8fc 100644
--- a/docs/3.1/structsub4-members.html
+++ b/docs/3.1/structsub4-members.html
@@ -127,7 +127,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/structsub4.html b/docs/3.1/structsub4.html
index ac298a52..e0b17ee4 100644
--- a/docs/3.1/structsub4.html
+++ b/docs/3.1/structsub4.html
@@ -205,7 +205,7 @@ uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>d7</b>:1</td></tr
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/todo.html b/docs/3.1/todo.html
index 00a34dd6..b31dbe36 100644
--- a/docs/3.1/todo.html
+++ b/docs/3.1/todo.html
@@ -94,7 +94,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/trig8_8h_source.html b/docs/3.1/trig8_8h_source.html
index 200bd0b9..a27d0fb0 100644
--- a/docs/3.1/trig8_8h_source.html
+++ b/docs/3.1/trig8_8h_source.html
@@ -304,7 +304,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 Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
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 2b8a7517..91c6c79e 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
@@ -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 Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</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 229ee8a0..b9583fc9 100644
--- a/docs/3.1/union_i_e_e_e754binary32__t.html
+++ b/docs/3.1/union_i_e_e_e754binary32__t.html
@@ -92,6 +92,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="title">IEEE754binary32_t Union Reference<div class="ingroups"><a class="el" href="group__lib8tion.html">Fast math functions</a></div></div> </div>
</div><!--header-->
<div class="contents">
+
+<p>typedef for IEEE754 "binary32" float type internals
+ <a href="union_i_e_e_e754binary32__t.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="lib8tion_8h_source.html">lib8tion.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
@@ -144,13 +149,15 @@ struct {</td></tr>
<tr class="memitem:a88163870d8284427ead5e745c0c22e38"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="separator:a88163870d8284427ead5e745c0c22e38"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
-<hr/>The documentation for this union was generated from the following file:<ul>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>typedef for IEEE754 "binary32" float type internals </p>
+</div><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>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/union_t_r_g_b_gradient_palette_entry_union-members.html b/docs/3.1/union_t_r_g_b_gradient_palette_entry_union-members.html
index 7faa4ece..5029cceb 100644
--- a/docs/3.1/union_t_r_g_b_gradient_palette_entry_union-members.html
+++ b/docs/3.1/union_t_r_g_b_gradient_palette_entry_union-members.html
@@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/union_t_r_g_b_gradient_palette_entry_union.html b/docs/3.1/union_t_r_g_b_gradient_palette_entry_union.html
index d842a9cc..7129d631 100644
--- a/docs/3.1/union_t_r_g_b_gradient_palette_entry_union.html
+++ b/docs/3.1/union_t_r_g_b_gradient_palette_entry_union.html
@@ -124,7 +124,7 @@ uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>bytes</b> [4]</td>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/unionbitswap__type-members.html b/docs/3.1/unionbitswap__type-members.html
index 8cbf5d86..659e7e87 100644
--- a/docs/3.1/unionbitswap__type-members.html
+++ b/docs/3.1/unionbitswap__type-members.html
@@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/unionbitswap__type.html b/docs/3.1/unionbitswap__type.html
index 6f0559a8..1cd10ed4 100644
--- a/docs/3.1/unionbitswap__type.html
+++ b/docs/3.1/unionbitswap__type.html
@@ -132,7 +132,7 @@ struct {</td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:55 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/unionjust8bits-members.html b/docs/3.1/unionjust8bits-members.html
index dfb8af45..438d2e1a 100644
--- a/docs/3.1/unionjust8bits-members.html
+++ b/docs/3.1/unionjust8bits-members.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/unionjust8bits.html b/docs/3.1/unionjust8bits.html
index 0ed68d68..90bf0219 100644
--- a/docs/3.1/unionjust8bits.html
+++ b/docs/3.1/unionjust8bits.html
@@ -140,7 +140,7 @@ struct {</td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/uniont_bytes_for_long-members.html b/docs/3.1/uniont_bytes_for_long-members.html
index a663b016..8f52a866 100644
--- a/docs/3.1/uniont_bytes_for_long-members.html
+++ b/docs/3.1/uniont_bytes_for_long-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 Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
diff --git a/docs/3.1/uniont_bytes_for_long.html b/docs/3.1/uniont_bytes_for_long.html
index 0e724933..104f5546 100644
--- a/docs/3.1/uniont_bytes_for_long.html
+++ b/docs/3.1/uniont_bytes_for_long.html
@@ -108,7 +108,7 @@ uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>raw</b> [4]</td></
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Aug 10 2015 22:39:56 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Mon Aug 10 2015 22:46:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>