F Malpartida avatar F Malpartida committed 2e6269d

Added documentation for library.

Comments (0)

Files changed (72)

docs/html/_fast_i_o_8cpp.html

 <tr><td colspan="2"><h2><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fast_i_o_8cpp.html#a83fc2fdc19ab3f9aade9e1a2f39e81a6">fio_digitalRead</a> (<a class="el" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> pinRegister, uint8_t pinBit)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fast_i_o_8cpp.html#a19962d1b3fc351693779f633a36105a8">fio_digitalWrite</a> (<a class="el" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> pinRegister, uint8_t pinBit, uint8_t value)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fast_i_o_8cpp.html#abe64155b836ffa8a137eb17d17995f84">fio_pinToBit</a> (uint8_t pin)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fast_i_o_8cpp.html#ae91bbe682b02a5842c291055c0e998b5">fio_digitalWrite</a> (<a class="el" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> pinRegister, <a class="el" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> pinBit, uint8_t value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fast_i_o_8cpp.html#a07a19dfbdca1afaca5d666bdaa3be7d5">fio_pinToBit</a> (uint8_t pin)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fast_i_o_8cpp.html#afb934fc0ded94cbb5ed8ed14e2a123ed">fio_pinToInputRegister</a> (uint8_t pin)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fast_i_o_8cpp.html#a04210cc785c3b4a11c86f794949c327f">fio_pinToOutputRegister</a> (uint8_t pin, uint8_t initial_state)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fast_i_o_8cpp.html#a8869ccb957fe8d64b1dc55fdd7fe342b">fio_shiftOut</a> (<a class="el" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> dataRegister, uint8_t dataBit, <a class="el" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> clockRegister, uint8_t clockBit)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fast_i_o_8cpp.html#a5d8d5977294d614d15bda19f75d6b787">fio_shiftOut</a> (<a class="el" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> dataRegister, <a class="el" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> dataBit, <a class="el" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> clockRegister, <a class="el" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> clockBit)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fast_i_o_8cpp.html#a56c72b9f00680662229895ab22aaa743">fio_shiftOut</a> (<a class="el" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> dataRegister, <a class="el" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> dataBit, <a class="el" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> clockRegister, <a class="el" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> clockBit, uint8_t value, uint8_t bitOrder)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fast_i_o_8cpp.html#a7ac8b242e7e3cacf175e481889e047dd">fio_shiftOut1</a> (uint8_t pin, uint8_t value, boolean noLatch)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fast_i_o_8cpp.html#a5b4d1684030dc620938b7c2fbdf5ced8">fio_shiftOut1</a> (<a class="el" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> shift1Register, <a class="el" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> shift1Bit, uint8_t value, boolean noLatch)</td></tr>
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>Value read from pin </dd></dl>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00089">89</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00095">95</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a19962d1b3fc351693779f633a36105a8"></a><!-- doxytag: member="FastIO.cpp::fio_digitalWrite" ref="a19962d1b3fc351693779f633a36105a8" args="(fio_register pinRegister, uint8_t pinBit, uint8_t value)" -->
+<a class="anchor" id="ae91bbe682b02a5842c291055c0e998b5"></a><!-- doxytag: member="FastIO.cpp::fio_digitalWrite" ref="ae91bbe682b02a5842c291055c0e998b5" args="(fio_register pinRegister, fio_bit pinBit, uint8_t value)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
   </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00070">70</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00076">76</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="abe64155b836ffa8a137eb17d17995f84"></a><!-- doxytag: member="FastIO.cpp::fio_pinToBit" ref="abe64155b836ffa8a137eb17d17995f84" args="(uint8_t pin)" -->
+<a class="anchor" id="a07a19dfbdca1afaca5d666bdaa3be7d5"></a><!-- doxytag: member="FastIO.cpp::fio_pinToBit" ref="a07a19dfbdca1afaca5d666bdaa3be7d5" args="(uint8_t pin)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">uint8_t fio_pinToBit </td>
+          <td class="memname"><a class="el" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> fio_pinToBit </td>
           <td>(</td>
           <td class="paramtype">uint8_t&#160;</td>
           <td class="paramname"><em>pin</em></td><td>)</td>
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>Bit </dd></dl>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00060">60</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00065">65</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
 
 </div>
 </div>
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>Register </dd></dl>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00048">48</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00052">52</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
 
 </div>
 </div>
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>Register </dd></dl>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00032">32</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00035">35</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
 
 </div>
 </div>
-<a class="anchor" id="a8869ccb957fe8d64b1dc55fdd7fe342b"></a><!-- doxytag: member="FastIO.cpp::fio_shiftOut" ref="a8869ccb957fe8d64b1dc55fdd7fe342b" args="(fio_register dataRegister, uint8_t dataBit, fio_register clockRegister, uint8_t clockBit)" -->
+<a class="anchor" id="a5d8d5977294d614d15bda19f75d6b787"></a><!-- doxytag: member="FastIO.cpp::fio_shiftOut" ref="a5d8d5977294d614d15bda19f75d6b787" args="(fio_register dataRegister, fio_bit dataBit, fio_register clockRegister, fio_bit clockBit)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
   </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00131">131</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00159">159</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
 
 </div>
 </div>
   </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00102">102</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00108">108</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
 
 </div>
 </div>
   </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00232">232</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00264">264</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
 
 </div>
 </div>
   </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00158">158</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00190">190</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
 
 </div>
 </div>
   </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00151">151</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00181">181</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
 
 </div>
 </div>
   </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00146">146</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00176">176</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
 
 </div>
 </div>
 </iframe>
 </div>
 
-<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 23 2012 20:38:55 for LCD Library by&#160;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
 </body>

docs/html/_fast_i_o_8cpp_source.html

 <a name="l00022"></a>00022 <span class="comment">//</span>
 <a name="l00023"></a>00023 <span class="comment">// @author Florian Fida -</span>
 <a name="l00024"></a>00024 <span class="comment">//</span>
-<a name="l00025"></a>00025 <span class="comment">// @todo:</span>
-<a name="l00026"></a>00026 <span class="comment">//  support chipkit:</span>
-<a name="l00027"></a>00027 <span class="comment">// (https://github.com/chipKIT32/chipKIT32-MAX/blob/master/hardware/pic32/</span>
-<a name="l00028"></a>00028 <span class="comment">//   cores/pic32/wiring_digital.c)</span>
-<a name="l00029"></a>00029 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00030"></a>00030 <span class="preprocessor">#include &quot;<a class="code" href="_fast_i_o_8h.html">FastIO.h</a>&quot;</span>
-<a name="l00031"></a>00031 
-<a name="l00032"></a><a class="code" href="_fast_i_o_8h.html#a385ae40d960c1a57e86818332476a802">00032</a> <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> <a class="code" href="_fast_i_o_8cpp.html#a04210cc785c3b4a11c86f794949c327f">fio_pinToOutputRegister</a>(uint8_t pin, uint8_t initial_state)
-<a name="l00033"></a>00033 {
-<a name="l00034"></a>00034         pinMode(pin, OUTPUT);
-<a name="l00035"></a>00035    
-<a name="l00036"></a>00036         <span class="keywordflow">if</span>(initial_state != <a class="code" href="_fast_i_o_8h.html#a688a4adbb87520a2b68681bd6bfb199e">SKIP</a>) 
-<a name="l00037"></a>00037    {
-<a name="l00038"></a>00038       digitalWrite(pin, initial_state); <span class="comment">// also turns off pwm timer</span>
-<a name="l00039"></a>00039    }
-<a name="l00040"></a>00040 <span class="preprocessor">#ifdef FIO_FALLBACK</span>
-<a name="l00041"></a>00041 <span class="preprocessor"></span>        <span class="comment">//  just wasting memory if not using fast io...</span>
-<a name="l00042"></a>00042         <span class="keywordflow">return</span> 0;
-<a name="l00043"></a>00043 <span class="preprocessor">#else</span>
-<a name="l00044"></a>00044 <span class="preprocessor"></span>        <span class="keywordflow">return</span> portOutputRegister(digitalPinToPort(pin));
-<a name="l00045"></a>00045 <span class="preprocessor">#endif</span>
-<a name="l00046"></a>00046 <span class="preprocessor"></span>}
-<a name="l00047"></a>00047 
-<a name="l00048"></a><a class="code" href="_fast_i_o_8h.html#afb934fc0ded94cbb5ed8ed14e2a123ed">00048</a> <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> <a class="code" href="_fast_i_o_8cpp.html#afb934fc0ded94cbb5ed8ed14e2a123ed">fio_pinToInputRegister</a>(uint8_t pin)
-<a name="l00049"></a>00049 {
-<a name="l00050"></a>00050         pinMode(pin, INPUT);
-<a name="l00051"></a>00051         digitalWrite(pin, LOW); <span class="comment">// also turns off pwm timer and pullup</span>
-<a name="l00052"></a>00052 <span class="preprocessor">#ifdef FIO_FALLBACK</span>
-<a name="l00053"></a>00053 <span class="preprocessor"></span>        <span class="comment">//  just wasting memory if not using fast io...</span>
-<a name="l00054"></a>00054         <span class="keywordflow">return</span> 0;
-<a name="l00055"></a>00055 <span class="preprocessor">#else</span>
-<a name="l00056"></a>00056 <span class="preprocessor"></span>        <span class="keywordflow">return</span> portInputRegister(digitalPinToPort(pin));
-<a name="l00057"></a>00057 <span class="preprocessor">#endif</span>
-<a name="l00058"></a>00058 <span class="preprocessor"></span>}
-<a name="l00059"></a>00059 
-<a name="l00060"></a><a class="code" href="_fast_i_o_8h.html#a07a19dfbdca1afaca5d666bdaa3be7d5">00060</a> uint8_t <a class="code" href="_fast_i_o_8cpp.html#abe64155b836ffa8a137eb17d17995f84">fio_pinToBit</a>(uint8_t pin)
-<a name="l00061"></a>00061 {
-<a name="l00062"></a>00062 <span class="preprocessor">#ifdef FIO_FALLBACK</span>
-<a name="l00063"></a>00063 <span class="preprocessor"></span>        <span class="comment">// (ab)use the bit variable to store the pin</span>
-<a name="l00064"></a>00064         <span class="keywordflow">return</span> pin;
-<a name="l00065"></a>00065 <span class="preprocessor">#else</span>
-<a name="l00066"></a>00066 <span class="preprocessor"></span>        <span class="keywordflow">return</span> digitalPinToBitMask(pin);
-<a name="l00067"></a>00067 <span class="preprocessor">#endif</span>
-<a name="l00068"></a>00068 <span class="preprocessor"></span>}
-<a name="l00069"></a>00069 
-<a name="l00070"></a><a class="code" href="_fast_i_o_8h.html#ae91bbe682b02a5842c291055c0e998b5">00070</a> <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#a19962d1b3fc351693779f633a36105a8">fio_digitalWrite</a>(<a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> pinRegister, uint8_t pinBit, uint8_t value) 
-<a name="l00071"></a>00071 {
-<a name="l00072"></a>00072 <span class="preprocessor">#ifdef FIO_FALLBACK</span>
-<a name="l00073"></a>00073 <span class="preprocessor"></span>        digitalWrite(pinBit, value);
-<a name="l00074"></a>00074 <span class="preprocessor">#else</span>
-<a name="l00075"></a>00075 <span class="preprocessor"></span>   <a class="code" href="_fast_i_o_8h.html#a04971fe5fabe4129736708c494e08e6d">ATOMIC_BLOCK</a>(<a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a>)
-<a name="l00076"></a>00076    {
-<a name="l00077"></a>00077       <span class="keywordflow">if</span>(value == LOW)
-<a name="l00078"></a>00078       {
-<a name="l00079"></a>00079          <a class="code" href="_fast_i_o_8h.html#ac8f00a1bccb98109531b88fbb6e91478">fio_digitalWrite_LOW</a>(pinRegister,pinBit);
-<a name="l00080"></a>00080       }
-<a name="l00081"></a>00081       <span class="keywordflow">else</span>
-<a name="l00082"></a>00082       {
-<a name="l00083"></a>00083          <a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">fio_digitalWrite_HIGH</a>(pinRegister,pinBit);
-<a name="l00084"></a>00084       }
-<a name="l00085"></a>00085    }
-<a name="l00086"></a>00086 <span class="preprocessor">#endif</span>
-<a name="l00087"></a>00087 <span class="preprocessor"></span>}
-<a name="l00088"></a>00088 
-<a name="l00089"></a><a class="code" href="_fast_i_o_8h.html#a197336e47e1c3f929056ce3abbbc7e8d">00089</a> <span class="keywordtype">int</span> <a class="code" href="_fast_i_o_8cpp.html#a83fc2fdc19ab3f9aade9e1a2f39e81a6">fio_digitalRead</a>(<a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> pinRegister, uint8_t pinBit)
-<a name="l00090"></a>00090 {
-<a name="l00091"></a>00091 <span class="preprocessor">#ifdef FIO_FALLBACK</span>
-<a name="l00092"></a>00092 <span class="preprocessor"></span>        <span class="keywordflow">return</span> digitalRead (pinBit);
-<a name="l00093"></a>00093 <span class="preprocessor">#else</span>
-<a name="l00094"></a>00094 <span class="preprocessor"></span>        <span class="keywordflow">if</span> (*pinRegister &amp; pinBit)
-<a name="l00095"></a>00095    {
-<a name="l00096"></a>00096       <span class="keywordflow">return</span> HIGH;
-<a name="l00097"></a>00097    }
-<a name="l00098"></a>00098         <span class="keywordflow">return</span> LOW;
-<a name="l00099"></a>00099 <span class="preprocessor">#endif</span>
-<a name="l00100"></a>00100 <span class="preprocessor"></span>}
-<a name="l00101"></a>00101 
-<a name="l00102"></a><a class="code" href="_fast_i_o_8h.html#a56c72b9f00680662229895ab22aaa743">00102</a> <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#a56c72b9f00680662229895ab22aaa743">fio_shiftOut</a> (<a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> dataRegister, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> dataBit, 
-<a name="l00103"></a>00103                    <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> clockRegister, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> clockBit, 
-<a name="l00104"></a>00104                    uint8_t value, uint8_t bitOrder)
-<a name="l00105"></a>00105 {
-<a name="l00106"></a>00106         <span class="comment">// # disable interrupts</span>
-<a name="l00107"></a>00107         int8_t i;
-<a name="l00108"></a>00108    
-<a name="l00109"></a>00109    
-<a name="l00110"></a>00110    <span class="keywordflow">for</span>(i = 0; i &lt; 8; i++)
-<a name="l00111"></a>00111    {
-<a name="l00112"></a>00112       <span class="keywordflow">if</span> (bitOrder == LSBFIRST)
-<a name="l00113"></a>00113       {
-<a name="l00114"></a>00114          <a class="code" href="_fast_i_o_8cpp.html#a19962d1b3fc351693779f633a36105a8">fio_digitalWrite</a>(dataRegister, dataBit, !!(value &amp; (1 &lt;&lt; i)));
-<a name="l00115"></a>00115       }
-<a name="l00116"></a>00116       <span class="keywordflow">else</span>
-<a name="l00117"></a>00117       {
-<a name="l00118"></a>00118          <a class="code" href="_fast_i_o_8cpp.html#a19962d1b3fc351693779f633a36105a8">fio_digitalWrite</a>(dataRegister, dataBit, !!(value &amp; (1 &lt;&lt; (7 - i))));
-<a name="l00119"></a>00119       }
-<a name="l00120"></a>00120       <a class="code" href="_fast_i_o_8h.html#a04971fe5fabe4129736708c494e08e6d">ATOMIC_BLOCK</a>(<a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a>)
-<a name="l00121"></a>00121       {
-<a name="l00122"></a>00122          <a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">fio_digitalWrite_HIGH</a> (clockRegister, clockBit);
-<a name="l00123"></a>00123          
-<a name="l00124"></a>00124          <span class="comment">// Switching is a little bit faster</span>
-<a name="l00125"></a>00125          <a class="code" href="_fast_i_o_8h.html#a6d1dffed7f0c8f28f6c88146315f7832">fio_digitalWrite_SWITCH</a> (clockRegister,clockBit);
-<a name="l00126"></a>00126       } <span class="comment">// end critical section</span>
-<a name="l00127"></a>00127       
-<a name="l00128"></a>00128    } 
-<a name="l00129"></a>00129 }
-<a name="l00130"></a>00130 
-<a name="l00131"></a><a class="code" href="_fast_i_o_8h.html#a5d8d5977294d614d15bda19f75d6b787">00131</a> <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#a56c72b9f00680662229895ab22aaa743">fio_shiftOut</a>(<a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> dataRegister, uint8_t dataBit, 
-<a name="l00132"></a>00132                   <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> clockRegister, uint8_t clockBit)
-<a name="l00133"></a>00133 {
-<a name="l00134"></a>00134    <a class="code" href="_fast_i_o_8h.html#a04971fe5fabe4129736708c494e08e6d">ATOMIC_BLOCK</a>(<a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a>)
-<a name="l00135"></a>00135    {
-<a name="l00136"></a>00136       <span class="comment">// shift out 0x0 (B00000000) fast, byte order is irrelevant</span>
-<a name="l00137"></a>00137       <a class="code" href="_fast_i_o_8h.html#ac8f00a1bccb98109531b88fbb6e91478">fio_digitalWrite_LOW</a> (dataRegister, dataBit);
-<a name="l00138"></a>00138       
-<a name="l00139"></a>00139       <span class="keywordflow">for</span>(uint8_t i = 0; i&lt;8; ++i)
-<a name="l00140"></a>00140       {
-<a name="l00141"></a>00141          <a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">fio_digitalWrite_HIGH</a> (clockRegister, clockBit);
-<a name="l00142"></a>00142          <a class="code" href="_fast_i_o_8h.html#a6d1dffed7f0c8f28f6c88146315f7832">fio_digitalWrite_SWITCH</a> (clockRegister, clockBit);
-<a name="l00143"></a>00143       }
-<a name="l00144"></a>00144    }
-<a name="l00145"></a>00145 }
-<a name="l00146"></a><a class="code" href="_fast_i_o_8h.html#ae4b2e099f8ade9ee674d1565669e870a">00146</a> <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#ae4b2e099f8ade9ee674d1565669e870a">fio_shiftOut1_init</a>(uint8_t pin)
-<a name="l00147"></a>00147 {
-<a name="l00148"></a>00148         <a class="code" href="_fast_i_o_8cpp.html#ae4b2e099f8ade9ee674d1565669e870a">fio_shiftOut1_init</a>(<a class="code" href="_fast_i_o_8cpp.html#a04210cc785c3b4a11c86f794949c327f">fio_pinToOutputRegister</a>(pin,HIGH),<a class="code" href="_fast_i_o_8cpp.html#abe64155b836ffa8a137eb17d17995f84">fio_pinToBit</a>(pin));
-<a name="l00149"></a>00149 }
-<a name="l00150"></a>00150 
-<a name="l00151"></a><a class="code" href="_fast_i_o_8h.html#a2d0e4495eb12504255bbd3f82405b17b">00151</a> <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#ae4b2e099f8ade9ee674d1565669e870a">fio_shiftOut1_init</a>(<a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> shift1Register, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> shift1Bit)
-<a name="l00152"></a>00152 {
-<a name="l00153"></a>00153         <span class="comment">// Make sure that capacitors are charged</span>
-<a name="l00154"></a>00154         <span class="comment">// 300us is an educated guess...</span>
-<a name="l00155"></a>00155         <a class="code" href="_fast_i_o_8cpp.html#a19962d1b3fc351693779f633a36105a8">fio_digitalWrite</a>(shift1Register,shift1Bit,HIGH);
-<a name="l00156"></a>00156         delayMicroseconds(300);
-<a name="l00157"></a>00157 }
-<a name="l00158"></a><a class="code" href="_fast_i_o_8h.html#a33ce251dcd6b448185cda415a99001cf">00158</a> <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#a5b4d1684030dc620938b7c2fbdf5ced8">fio_shiftOut1</a>(<a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> shift1Register, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> shift1Bit, uint8_t value, 
-<a name="l00159"></a>00159                    <span class="keywordtype">boolean</span> noLatch)
-<a name="l00160"></a>00160 {
-<a name="l00161"></a>00161         <span class="comment">/*</span>
-<a name="l00162"></a>00162 <span class="comment">         * this function are based on Shif1 protocol developed by Roman Black </span>
-<a name="l00163"></a>00163 <span class="comment">    *    (http://www.romanblack.com/shift1.htm)</span>
-<a name="l00164"></a>00164 <span class="comment">         *</span>
-<a name="l00165"></a>00165 <span class="comment">         * test sketches:</span>
-<a name="l00166"></a>00166 <span class="comment">         *      http://pastebin.com/raw.php?i=2hnC9v2Z</span>
-<a name="l00167"></a>00167 <span class="comment">         *      http://pastebin.com/raw.php?i=bGg4DhXQ</span>
-<a name="l00168"></a>00168 <span class="comment">         *      http://pastebin.com/raw.php?i=tg1ZFiM5</span>
-<a name="l00169"></a>00169 <span class="comment">         *    http://pastebin.com/raw.php?i=93ExPDD3 - cascading</span>
-<a name="l00170"></a>00170 <span class="comment">         * tested with:</span>
-<a name="l00171"></a>00171 <span class="comment">         *      TPIC6595N - seems to work fine (circuit: http://www.3guys1laser.com/</span>
-<a name="l00172"></a>00172 <span class="comment">    *                   arduino-one-wire-shift-register-prototype)</span>
-<a name="l00173"></a>00173 <span class="comment">         *      7HC595N</span>
-<a name="l00174"></a>00174 <span class="comment">         */</span>
-<a name="l00175"></a>00175    
-<a name="l00176"></a>00176         <span class="comment">// iterate but ignore last bit (is it correct now?)</span>
-<a name="l00177"></a>00177         <span class="keywordflow">for</span>(int8_t i = 7; i&gt;=0; --i)
-<a name="l00178"></a>00178    {
-<a name="l00179"></a>00179       
-<a name="l00180"></a>00180                 <span class="comment">// assume that pin is HIGH (smokin&#39; pot all day... :) - requires </span>
-<a name="l00181"></a>00181       <span class="comment">// initialization</span>
-<a name="l00182"></a>00182                 <span class="keywordflow">if</span>(value &amp; _BV(i))
-<a name="l00183"></a>00183       {
-<a name="l00184"></a>00184          <a class="code" href="_fast_i_o_8h.html#a04971fe5fabe4129736708c494e08e6d">ATOMIC_BLOCK</a>(<a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a>)
-<a name="l00185"></a>00185          {
-<a name="l00186"></a>00186             <span class="comment">// HIGH = 1 Bit</span>
-<a name="l00187"></a>00187             <a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">fio_digitalWrite_SWITCHTO</a>(shift1Register,shift1Bit,LOW);
-<a name="l00188"></a>00188             <span class="comment">//hold pin LOW for 1us - done! :)</span>
-<a name="l00189"></a>00189             <a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">fio_digitalWrite_SWITCHTO</a>(shift1Register,shift1Bit,HIGH);
-<a name="l00190"></a>00190          } <span class="comment">// end critical section</span>
-<a name="l00191"></a>00191          <span class="comment">//hold pin HIGH for 15us</span>
-<a name="l00192"></a>00192          delayMicroseconds(15);
-<a name="l00193"></a>00193                 }
-<a name="l00194"></a>00194       <span class="keywordflow">else</span>
-<a name="l00195"></a>00195       {
-<a name="l00196"></a>00196          <a class="code" href="_fast_i_o_8h.html#a04971fe5fabe4129736708c494e08e6d">ATOMIC_BLOCK</a>(<a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a>)
-<a name="l00197"></a>00197          {
-<a name="l00198"></a>00198             <span class="comment">// LOW = 0 Bit</span>
-<a name="l00199"></a>00199             <a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">fio_digitalWrite_SWITCHTO</a>(shift1Register,shift1Bit,LOW);
-<a name="l00200"></a>00200             <span class="comment">// hold pin LOW for 15us</span>
-<a name="l00201"></a>00201             delayMicroseconds(15);
-<a name="l00202"></a>00202             <a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">fio_digitalWrite_SWITCHTO</a>(shift1Register,shift1Bit,HIGH);
-<a name="l00203"></a>00203          } <span class="comment">// end critical section</span>
-<a name="l00204"></a>00204          
-<a name="l00205"></a>00205          <span class="comment">// hold pin HIGH for 30us</span>
-<a name="l00206"></a>00206          delayMicroseconds(30);         
-<a name="l00207"></a>00207                 }
-<a name="l00208"></a>00208                 <span class="keywordflow">if</span>(!noLatch &amp;&amp; i==1)
-<a name="l00209"></a>00209       {
-<a name="l00210"></a>00210          <span class="keywordflow">break</span>;
-<a name="l00211"></a>00211       }
-<a name="l00212"></a>00212         }
-<a name="l00213"></a>00213    
-<a name="l00214"></a>00214         <span class="keywordflow">if</span>(!noLatch)
-<a name="l00215"></a>00215    {
-<a name="l00216"></a>00216       <a class="code" href="_fast_i_o_8h.html#a04971fe5fabe4129736708c494e08e6d">ATOMIC_BLOCK</a>(<a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a>)
-<a name="l00217"></a>00217       {
-<a name="l00218"></a>00218          <span class="comment">// send last bit (=LOW) and Latch command</span>
-<a name="l00219"></a>00219          <a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">fio_digitalWrite_SWITCHTO</a>(shift1Register,shift1Bit,LOW);
-<a name="l00220"></a>00220       } <span class="comment">// end critical section</span>
-<a name="l00221"></a>00221       delayMicroseconds(199);           <span class="comment">// Hold pin low for 200us</span>
-<a name="l00222"></a>00222       
-<a name="l00223"></a>00223       <a class="code" href="_fast_i_o_8h.html#a04971fe5fabe4129736708c494e08e6d">ATOMIC_BLOCK</a>(<a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a>)
-<a name="l00224"></a>00224       {
-<a name="l00225"></a>00225          <a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">fio_digitalWrite_HIGH</a>(shift1Register,shift1Bit);
-<a name="l00226"></a>00226       } <span class="comment">// end critical section</span>
-<a name="l00227"></a>00227                 delayMicroseconds(299);   <span class="comment">// Hold pin high for 300us and leave it that </span>
-<a name="l00228"></a>00228       <span class="comment">// way - using explicit HIGH here, just in case.</span>
-<a name="l00229"></a>00229         }
-<a name="l00230"></a>00230 }
-<a name="l00231"></a>00231 
-<a name="l00232"></a><a class="code" href="_fast_i_o_8h.html#af2aac35d9a8ab7a2c87672f2c7cbbafb">00232</a> <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#a5b4d1684030dc620938b7c2fbdf5ced8">fio_shiftOut1</a>(uint8_t pin, uint8_t value, <span class="keywordtype">boolean</span> noLatch)
-<a name="l00233"></a>00233 {
-<a name="l00234"></a>00234         <a class="code" href="_fast_i_o_8cpp.html#a5b4d1684030dc620938b7c2fbdf5ced8">fio_shiftOut1</a>(<a class="code" href="_fast_i_o_8cpp.html#a04210cc785c3b4a11c86f794949c327f">fio_pinToOutputRegister</a>(pin, <a class="code" href="_fast_i_o_8h.html#a688a4adbb87520a2b68681bd6bfb199e">SKIP</a>),<a class="code" href="_fast_i_o_8cpp.html#abe64155b836ffa8a137eb17d17995f84">fio_pinToBit</a>(pin),value, noLatch);
-<a name="l00235"></a>00235 }
+<a name="l00025"></a>00025 <span class="comment">// 2012-03-16 bperrybap updated fio_shiftout() to be smaller &amp; faster</span>
+<a name="l00026"></a>00026 <span class="comment">//</span>
+<a name="l00027"></a>00027 <span class="comment">// @todo:</span>
+<a name="l00028"></a>00028 <span class="comment">//  support chipkit:</span>
+<a name="l00029"></a>00029 <span class="comment">// (https://github.com/chipKIT32/chipKIT32-MAX/blob/master/hardware/pic32/</span>
+<a name="l00030"></a>00030 <span class="comment">//   cores/pic32/wiring_digital.c)</span>
+<a name="l00031"></a>00031 <span class="comment">// ---------------------------------------------------------------------------</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include &quot;<a class="code" href="_fast_i_o_8h.html">FastIO.h</a>&quot;</span>
+<a name="l00033"></a>00033 
+<a name="l00034"></a>00034 
+<a name="l00035"></a><a class="code" href="_fast_i_o_8h.html#a385ae40d960c1a57e86818332476a802">00035</a> <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> <a class="code" href="_fast_i_o_8cpp.html#a04210cc785c3b4a11c86f794949c327f">fio_pinToOutputRegister</a>(uint8_t pin, uint8_t initial_state)
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037         pinMode(pin, OUTPUT);
+<a name="l00038"></a>00038    
+<a name="l00039"></a>00039         <span class="keywordflow">if</span>(initial_state != <a class="code" href="_fast_i_o_8h.html#a688a4adbb87520a2b68681bd6bfb199e">SKIP</a>) 
+<a name="l00040"></a>00040    {
+<a name="l00041"></a>00041       digitalWrite(pin, initial_state); <span class="comment">// also turns off pwm timer</span>
+<a name="l00042"></a>00042    }
+<a name="l00043"></a>00043 <span class="preprocessor">#ifdef FIO_FALLBACK</span>
+<a name="l00044"></a>00044 <span class="preprocessor"></span>        <span class="comment">//  just wasting memory if not using fast io...</span>
+<a name="l00045"></a>00045         <span class="keywordflow">return</span> 0;
+<a name="l00046"></a>00046 <span class="preprocessor">#else</span>
+<a name="l00047"></a>00047 <span class="preprocessor"></span>        <span class="keywordflow">return</span> portOutputRegister(digitalPinToPort(pin));
+<a name="l00048"></a>00048 <span class="preprocessor">#endif</span>
+<a name="l00049"></a>00049 <span class="preprocessor"></span>}
+<a name="l00050"></a>00050 
+<a name="l00051"></a>00051 
+<a name="l00052"></a><a class="code" href="_fast_i_o_8h.html#afb934fc0ded94cbb5ed8ed14e2a123ed">00052</a> <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> <a class="code" href="_fast_i_o_8cpp.html#afb934fc0ded94cbb5ed8ed14e2a123ed">fio_pinToInputRegister</a>(uint8_t pin)
+<a name="l00053"></a>00053 {
+<a name="l00054"></a>00054         pinMode(pin, INPUT);
+<a name="l00055"></a>00055         digitalWrite(pin, LOW); <span class="comment">// also turns off pwm timer and pullup</span>
+<a name="l00056"></a>00056 <span class="preprocessor">#ifdef FIO_FALLBACK</span>
+<a name="l00057"></a>00057 <span class="preprocessor"></span>        <span class="comment">//  just wasting memory if not using fast io...</span>
+<a name="l00058"></a>00058         <span class="keywordflow">return</span> 0;
+<a name="l00059"></a>00059 <span class="preprocessor">#else</span>
+<a name="l00060"></a>00060 <span class="preprocessor"></span>        <span class="keywordflow">return</span> portInputRegister(digitalPinToPort(pin));
+<a name="l00061"></a>00061 <span class="preprocessor">#endif</span>
+<a name="l00062"></a>00062 <span class="preprocessor"></span>}
+<a name="l00063"></a>00063 
+<a name="l00064"></a>00064 
+<a name="l00065"></a><a class="code" href="_fast_i_o_8h.html#a07a19dfbdca1afaca5d666bdaa3be7d5">00065</a> <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> <a class="code" href="_fast_i_o_8cpp.html#a07a19dfbdca1afaca5d666bdaa3be7d5">fio_pinToBit</a>(uint8_t pin)
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 <span class="preprocessor">#ifdef FIO_FALLBACK</span>
+<a name="l00068"></a>00068 <span class="preprocessor"></span>        <span class="comment">// (ab)use the bit variable to store the pin</span>
+<a name="l00069"></a>00069         <span class="keywordflow">return</span> pin;
+<a name="l00070"></a>00070 <span class="preprocessor">#else</span>
+<a name="l00071"></a>00071 <span class="preprocessor"></span>        <span class="keywordflow">return</span> digitalPinToBitMask(pin);
+<a name="l00072"></a>00072 <span class="preprocessor">#endif</span>
+<a name="l00073"></a>00073 <span class="preprocessor"></span>}
+<a name="l00074"></a>00074 
+<a name="l00075"></a>00075 
+<a name="l00076"></a><a class="code" href="_fast_i_o_8h.html#ae91bbe682b02a5842c291055c0e998b5">00076</a> <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#ae91bbe682b02a5842c291055c0e998b5">fio_digitalWrite</a>(<a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> pinRegister, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> pinBit, uint8_t value) 
+<a name="l00077"></a>00077 {
+<a name="l00078"></a>00078 <span class="preprocessor">#ifdef FIO_FALLBACK</span>
+<a name="l00079"></a>00079 <span class="preprocessor"></span>        digitalWrite(pinBit, value);
+<a name="l00080"></a>00080 <span class="preprocessor">#else</span>
+<a name="l00081"></a>00081 <span class="preprocessor"></span>   <a class="code" href="_fast_i_o_8h.html#a04971fe5fabe4129736708c494e08e6d">ATOMIC_BLOCK</a>(<a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a>)
+<a name="l00082"></a>00082    {
+<a name="l00083"></a>00083       <span class="keywordflow">if</span>(value == LOW)
+<a name="l00084"></a>00084       {
+<a name="l00085"></a>00085          <a class="code" href="_fast_i_o_8h.html#ac8f00a1bccb98109531b88fbb6e91478">fio_digitalWrite_LOW</a>(pinRegister,pinBit);
+<a name="l00086"></a>00086       }
+<a name="l00087"></a>00087       <span class="keywordflow">else</span>
+<a name="l00088"></a>00088       {
+<a name="l00089"></a>00089          <a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">fio_digitalWrite_HIGH</a>(pinRegister,pinBit);
+<a name="l00090"></a>00090       }
+<a name="l00091"></a>00091    }
+<a name="l00092"></a>00092 <span class="preprocessor">#endif</span>
+<a name="l00093"></a>00093 <span class="preprocessor"></span>}
+<a name="l00094"></a>00094 
+<a name="l00095"></a><a class="code" href="_fast_i_o_8h.html#a197336e47e1c3f929056ce3abbbc7e8d">00095</a> <span class="keywordtype">int</span> <a class="code" href="_fast_i_o_8cpp.html#a83fc2fdc19ab3f9aade9e1a2f39e81a6">fio_digitalRead</a>(<a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> pinRegister, uint8_t pinBit)
+<a name="l00096"></a>00096 {
+<a name="l00097"></a>00097 <span class="preprocessor">#ifdef FIO_FALLBACK</span>
+<a name="l00098"></a>00098 <span class="preprocessor"></span>        <span class="keywordflow">return</span> digitalRead (pinBit);
+<a name="l00099"></a>00099 <span class="preprocessor">#else</span>
+<a name="l00100"></a>00100 <span class="preprocessor"></span>        <span class="keywordflow">if</span> (*pinRegister &amp; pinBit)
+<a name="l00101"></a>00101    {
+<a name="l00102"></a>00102       <span class="keywordflow">return</span> HIGH;
+<a name="l00103"></a>00103    }
+<a name="l00104"></a>00104         <span class="keywordflow">return</span> LOW;
+<a name="l00105"></a>00105 <span class="preprocessor">#endif</span>
+<a name="l00106"></a>00106 <span class="preprocessor"></span>}
+<a name="l00107"></a>00107 
+<a name="l00108"></a><a class="code" href="_fast_i_o_8h.html#a56c72b9f00680662229895ab22aaa743">00108</a> <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#a56c72b9f00680662229895ab22aaa743">fio_shiftOut</a> (<a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> dataRegister, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> dataBit, 
+<a name="l00109"></a>00109                    <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> clockRegister, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> clockBit, 
+<a name="l00110"></a>00110                    uint8_t value, uint8_t bitOrder)
+<a name="l00111"></a>00111 {
+<a name="l00112"></a>00112         <span class="comment">// # disable interrupts</span>
+<a name="l00113"></a>00113         int8_t i;
+<a name="l00114"></a>00114    
+<a name="l00115"></a>00115         <span class="keywordflow">if</span>(bitOrder == LSBFIRST)
+<a name="l00116"></a>00116         {
+<a name="l00117"></a>00117                 <span class="keywordflow">for</span>(i = 0; i &lt; 8; i++)
+<a name="l00118"></a>00118                 {
+<a name="l00119"></a>00119                         <a class="code" href="_fast_i_o_8h.html#a04971fe5fabe4129736708c494e08e6d">ATOMIC_BLOCK</a>(<a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a>)
+<a name="l00120"></a>00120                         {
+<a name="l00121"></a>00121                                 <span class="keywordflow">if</span>(value &amp; 1)
+<a name="l00122"></a>00122             {
+<a name="l00123"></a>00123                <a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">fio_digitalWrite_HIGH</a>(dataRegister, dataBit);
+<a name="l00124"></a>00124                                 }
+<a name="l00125"></a>00125             <span class="keywordflow">else</span>
+<a name="l00126"></a>00126             {
+<a name="l00127"></a>00127                <a class="code" href="_fast_i_o_8h.html#ac8f00a1bccb98109531b88fbb6e91478">fio_digitalWrite_LOW</a>(dataRegister, dataBit);
+<a name="l00128"></a>00128             }
+<a name="l00129"></a>00129             value &gt;&gt;= 1;
+<a name="l00130"></a>00130                                 <a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">fio_digitalWrite_HIGH</a> (clockRegister, clockBit);
+<a name="l00131"></a>00131                                 <a class="code" href="_fast_i_o_8h.html#ac8f00a1bccb98109531b88fbb6e91478">fio_digitalWrite_LOW</a> (clockRegister,clockBit);
+<a name="l00132"></a>00132                         }
+<a name="l00133"></a>00133                 }
+<a name="l00134"></a>00134       
+<a name="l00135"></a>00135         }
+<a name="l00136"></a>00136         <span class="keywordflow">else</span>
+<a name="l00137"></a>00137         {
+<a name="l00138"></a>00138                 <span class="keywordflow">for</span>(i = 0; i &lt; 8; i++)
+<a name="l00139"></a>00139                 {
+<a name="l00140"></a>00140                         <a class="code" href="_fast_i_o_8h.html#a04971fe5fabe4129736708c494e08e6d">ATOMIC_BLOCK</a>(<a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a>)
+<a name="l00141"></a>00141                         {
+<a name="l00142"></a>00142                                 <span class="keywordflow">if</span>(value &amp; 0x80)
+<a name="l00143"></a>00143             {
+<a name="l00144"></a>00144                <a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">fio_digitalWrite_HIGH</a>(dataRegister, dataBit);
+<a name="l00145"></a>00145                                 }
+<a name="l00146"></a>00146             <span class="keywordflow">else</span>
+<a name="l00147"></a>00147             {
+<a name="l00148"></a>00148                <a class="code" href="_fast_i_o_8h.html#ac8f00a1bccb98109531b88fbb6e91478">fio_digitalWrite_LOW</a>(dataRegister, dataBit);
+<a name="l00149"></a>00149             }
+<a name="l00150"></a>00150                                 value &lt;&lt;= 1;
+<a name="l00151"></a>00151                                 <a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">fio_digitalWrite_HIGH</a> (clockRegister, clockBit);
+<a name="l00152"></a>00152                                 <a class="code" href="_fast_i_o_8h.html#ac8f00a1bccb98109531b88fbb6e91478">fio_digitalWrite_LOW</a> (clockRegister,clockBit);
+<a name="l00153"></a>00153                         }
+<a name="l00154"></a>00154                 }
+<a name="l00155"></a>00155         }
+<a name="l00156"></a>00156 }
+<a name="l00157"></a>00157 
+<a name="l00158"></a>00158 
+<a name="l00159"></a><a class="code" href="_fast_i_o_8h.html#a5d8d5977294d614d15bda19f75d6b787">00159</a> <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#a56c72b9f00680662229895ab22aaa743">fio_shiftOut</a>(<a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> dataRegister, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> dataBit, 
+<a name="l00160"></a>00160                   <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> clockRegister, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> clockBit)
+<a name="l00161"></a>00161 {
+<a name="l00162"></a>00162    <a class="code" href="_fast_i_o_8h.html#a04971fe5fabe4129736708c494e08e6d">ATOMIC_BLOCK</a>(<a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a>)
+<a name="l00163"></a>00163    {
+<a name="l00164"></a>00164       <span class="comment">// shift out 0x0 (B00000000) fast, byte order is irrelevant</span>
+<a name="l00165"></a>00165       <a class="code" href="_fast_i_o_8h.html#ac8f00a1bccb98109531b88fbb6e91478">fio_digitalWrite_LOW</a> (dataRegister, dataBit);
+<a name="l00166"></a>00166       
+<a name="l00167"></a>00167       <span class="keywordflow">for</span>(uint8_t i = 0; i&lt;8; ++i)
+<a name="l00168"></a>00168       {
+<a name="l00169"></a>00169          <a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">fio_digitalWrite_HIGH</a> (clockRegister, clockBit);
+<a name="l00170"></a>00170          <a class="code" href="_fast_i_o_8h.html#a6d1dffed7f0c8f28f6c88146315f7832">fio_digitalWrite_SWITCH</a> (clockRegister, clockBit);
+<a name="l00171"></a>00171       }
+<a name="l00172"></a>00172    }
+<a name="l00173"></a>00173 }
+<a name="l00174"></a>00174 
+<a name="l00175"></a>00175 
+<a name="l00176"></a><a class="code" href="_fast_i_o_8h.html#ae4b2e099f8ade9ee674d1565669e870a">00176</a> <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#ae4b2e099f8ade9ee674d1565669e870a">fio_shiftOut1_init</a>(uint8_t pin)
+<a name="l00177"></a>00177 {
+<a name="l00178"></a>00178         <a class="code" href="_fast_i_o_8cpp.html#ae4b2e099f8ade9ee674d1565669e870a">fio_shiftOut1_init</a>(<a class="code" href="_fast_i_o_8cpp.html#a04210cc785c3b4a11c86f794949c327f">fio_pinToOutputRegister</a>(pin,HIGH),<a class="code" href="_fast_i_o_8cpp.html#a07a19dfbdca1afaca5d666bdaa3be7d5">fio_pinToBit</a>(pin));
+<a name="l00179"></a>00179 }
+<a name="l00180"></a>00180 
+<a name="l00181"></a><a class="code" href="_fast_i_o_8h.html#a2d0e4495eb12504255bbd3f82405b17b">00181</a> <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#ae4b2e099f8ade9ee674d1565669e870a">fio_shiftOut1_init</a>(<a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> shift1Register, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> shift1Bit)
+<a name="l00182"></a>00182 {
+<a name="l00183"></a>00183         <span class="comment">// Make sure that capacitors are charged</span>
+<a name="l00184"></a>00184         <span class="comment">// 300us is an educated guess...</span>
+<a name="l00185"></a>00185         <a class="code" href="_fast_i_o_8cpp.html#ae91bbe682b02a5842c291055c0e998b5">fio_digitalWrite</a>(shift1Register,shift1Bit,HIGH);
+<a name="l00186"></a>00186         delayMicroseconds(300);
+<a name="l00187"></a>00187 }
+<a name="l00188"></a>00188 
+<a name="l00189"></a>00189 
+<a name="l00190"></a><a class="code" href="_fast_i_o_8h.html#a33ce251dcd6b448185cda415a99001cf">00190</a> <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#a5b4d1684030dc620938b7c2fbdf5ced8">fio_shiftOut1</a>(<a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> shift1Register, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> shift1Bit, uint8_t value, 
+<a name="l00191"></a>00191                    <span class="keywordtype">boolean</span> noLatch)
+<a name="l00192"></a>00192 {
+<a name="l00193"></a>00193         <span class="comment">/*</span>
+<a name="l00194"></a>00194 <span class="comment">         * this function are based on Shif1 protocol developed by Roman Black </span>
+<a name="l00195"></a>00195 <span class="comment">    *    (http://www.romanblack.com/shift1.htm)</span>
+<a name="l00196"></a>00196 <span class="comment">         *</span>
+<a name="l00197"></a>00197 <span class="comment">         * test sketches:</span>
+<a name="l00198"></a>00198 <span class="comment">         *      http://pastebin.com/raw.php?i=2hnC9v2Z</span>
+<a name="l00199"></a>00199 <span class="comment">         *      http://pastebin.com/raw.php?i=bGg4DhXQ</span>
+<a name="l00200"></a>00200 <span class="comment">         *      http://pastebin.com/raw.php?i=tg1ZFiM5</span>
+<a name="l00201"></a>00201 <span class="comment">         *    http://pastebin.com/raw.php?i=93ExPDD3 - cascading</span>
+<a name="l00202"></a>00202 <span class="comment">         * tested with:</span>
+<a name="l00203"></a>00203 <span class="comment">         *      TPIC6595N - seems to work fine (circuit: http://www.3guys1laser.com/</span>
+<a name="l00204"></a>00204 <span class="comment">    *                   arduino-one-wire-shift-register-prototype)</span>
+<a name="l00205"></a>00205 <span class="comment">         *      7HC595N</span>
+<a name="l00206"></a>00206 <span class="comment">         */</span>
+<a name="l00207"></a>00207    
+<a name="l00208"></a>00208         <span class="comment">// iterate but ignore last bit (is it correct now?)</span>
+<a name="l00209"></a>00209         <span class="keywordflow">for</span>(int8_t i = 7; i&gt;=0; --i)
+<a name="l00210"></a>00210    {
+<a name="l00211"></a>00211       
+<a name="l00212"></a>00212                 <span class="comment">// assume that pin is HIGH (smokin&#39; pot all day... :) - requires </span>
+<a name="l00213"></a>00213       <span class="comment">// initialization</span>
+<a name="l00214"></a>00214                 <span class="keywordflow">if</span>(value &amp; _BV(i))
+<a name="l00215"></a>00215       {
+<a name="l00216"></a>00216          <a class="code" href="_fast_i_o_8h.html#a04971fe5fabe4129736708c494e08e6d">ATOMIC_BLOCK</a>(<a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a>)
+<a name="l00217"></a>00217          {
+<a name="l00218"></a>00218             <span class="comment">// HIGH = 1 Bit</span>
+<a name="l00219"></a>00219             <a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">fio_digitalWrite_SWITCHTO</a>(shift1Register,shift1Bit,LOW);
+<a name="l00220"></a>00220             <span class="comment">//hold pin LOW for 1us - done! :)</span>
+<a name="l00221"></a>00221             <a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">fio_digitalWrite_SWITCHTO</a>(shift1Register,shift1Bit,HIGH);
+<a name="l00222"></a>00222          } <span class="comment">// end critical section</span>
+<a name="l00223"></a>00223          <span class="comment">//hold pin HIGH for 15us</span>
+<a name="l00224"></a>00224          delayMicroseconds(15);
+<a name="l00225"></a>00225                 }
+<a name="l00226"></a>00226       <span class="keywordflow">else</span>
+<a name="l00227"></a>00227       {
+<a name="l00228"></a>00228          <a class="code" href="_fast_i_o_8h.html#a04971fe5fabe4129736708c494e08e6d">ATOMIC_BLOCK</a>(<a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a>)
+<a name="l00229"></a>00229          {
+<a name="l00230"></a>00230             <span class="comment">// LOW = 0 Bit</span>
+<a name="l00231"></a>00231             <a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">fio_digitalWrite_SWITCHTO</a>(shift1Register,shift1Bit,LOW);
+<a name="l00232"></a>00232             <span class="comment">// hold pin LOW for 15us</span>
+<a name="l00233"></a>00233             delayMicroseconds(15);
+<a name="l00234"></a>00234             <a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">fio_digitalWrite_SWITCHTO</a>(shift1Register,shift1Bit,HIGH);
+<a name="l00235"></a>00235          } <span class="comment">// end critical section</span>
+<a name="l00236"></a>00236          
+<a name="l00237"></a>00237          <span class="comment">// hold pin HIGH for 30us</span>
+<a name="l00238"></a>00238          delayMicroseconds(30);         
+<a name="l00239"></a>00239                 }
+<a name="l00240"></a>00240                 <span class="keywordflow">if</span>(!noLatch &amp;&amp; i==1)
+<a name="l00241"></a>00241       {
+<a name="l00242"></a>00242          <span class="keywordflow">break</span>;
+<a name="l00243"></a>00243       }
+<a name="l00244"></a>00244         }
+<a name="l00245"></a>00245    
+<a name="l00246"></a>00246         <span class="keywordflow">if</span>(!noLatch)
+<a name="l00247"></a>00247    {
+<a name="l00248"></a>00248       <a class="code" href="_fast_i_o_8h.html#a04971fe5fabe4129736708c494e08e6d">ATOMIC_BLOCK</a>(<a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a>)
+<a name="l00249"></a>00249       {
+<a name="l00250"></a>00250          <span class="comment">// send last bit (=LOW) and Latch command</span>
+<a name="l00251"></a>00251          <a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">fio_digitalWrite_SWITCHTO</a>(shift1Register,shift1Bit,LOW);
+<a name="l00252"></a>00252       } <span class="comment">// end critical section</span>
+<a name="l00253"></a>00253       delayMicroseconds(199);           <span class="comment">// Hold pin low for 200us</span>
+<a name="l00254"></a>00254       
+<a name="l00255"></a>00255       <a class="code" href="_fast_i_o_8h.html#a04971fe5fabe4129736708c494e08e6d">ATOMIC_BLOCK</a>(<a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a>)
+<a name="l00256"></a>00256       {
+<a name="l00257"></a>00257          <a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">fio_digitalWrite_HIGH</a>(shift1Register,shift1Bit);
+<a name="l00258"></a>00258       } <span class="comment">// end critical section</span>
+<a name="l00259"></a>00259                 delayMicroseconds(299);   <span class="comment">// Hold pin high for 300us and leave it that </span>
+<a name="l00260"></a>00260       <span class="comment">// way - using explicit HIGH here, just in case.</span>
+<a name="l00261"></a>00261         }
+<a name="l00262"></a>00262 }
+<a name="l00263"></a>00263 
+<a name="l00264"></a><a class="code" href="_fast_i_o_8h.html#af2aac35d9a8ab7a2c87672f2c7cbbafb">00264</a> <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#a5b4d1684030dc620938b7c2fbdf5ced8">fio_shiftOut1</a>(uint8_t pin, uint8_t value, <span class="keywordtype">boolean</span> noLatch)
+<a name="l00265"></a>00265 {
+<a name="l00266"></a>00266         <a class="code" href="_fast_i_o_8cpp.html#a5b4d1684030dc620938b7c2fbdf5ced8">fio_shiftOut1</a>(<a class="code" href="_fast_i_o_8cpp.html#a04210cc785c3b4a11c86f794949c327f">fio_pinToOutputRegister</a>(pin, <a class="code" href="_fast_i_o_8h.html#a688a4adbb87520a2b68681bd6bfb199e">SKIP</a>),<a class="code" href="_fast_i_o_8cpp.html#a07a19dfbdca1afaca5d666bdaa3be7d5">fio_pinToBit</a>(pin),value, noLatch);
+<a name="l00267"></a>00267 }
 </pre></div></div>
 </div>
 <!-- window showing the filter options -->
 </iframe>
 </div>
 
-<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 23 2012 20:38:55 for LCD Library by&#160;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
 </body>

docs/html/_fast_i_o_8h.html

 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_fast_i_o_8h_source.html#l00054">54</a> of file <a class="el" href="_fast_i_o_8h_source.html">FastIO.h</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8h_source.html#l00058">58</a> of file <a class="el" href="_fast_i_o_8h_source.html">FastIO.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_fast_i_o_8h_source.html#l00055">55</a> of file <a class="el" href="_fast_i_o_8h_source.html">FastIO.h</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8h_source.html#l00059">59</a> of file <a class="el" href="_fast_i_o_8h_source.html">FastIO.h</a>.</p>
 
 </div>
 </div>
 <div class="memdoc">
 <p>This is where the magic happens that makes things fast. Implemented as preprocessor directives to force inlining SWITCH is fast for FIO but probably slow for FIO_FALLBACK so SWITCHTO is recommended if the value is known. </p>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8h_source.html#l00137">137</a> of file <a class="el" href="_fast_i_o_8h_source.html">FastIO.h</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8h_source.html#l00143">143</a> of file <a class="el" href="_fast_i_o_8h_source.html">FastIO.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_fast_i_o_8h_source.html#l00138">138</a> of file <a class="el" href="_fast_i_o_8h_source.html">FastIO.h</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8h_source.html#l00144">144</a> of file <a class="el" href="_fast_i_o_8h_source.html">FastIO.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_fast_i_o_8h_source.html#l00139">139</a> of file <a class="el" href="_fast_i_o_8h_source.html">FastIO.h</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8h_source.html#l00145">145</a> of file <a class="el" href="_fast_i_o_8h_source.html">FastIO.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_fast_i_o_8h_source.html#l00140">140</a> of file <a class="el" href="_fast_i_o_8h_source.html">FastIO.h</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8h_source.html#l00146">146</a> of file <a class="el" href="_fast_i_o_8h_source.html">FastIO.h</a>.</p>
 
 </div>
 </div>
       </table>
 </div>
 <div class="memdoc">
-<p>Enables IO digitalRead/digitalWrite fall back for non-AVR architectures. </p>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8h_source.html#l00053">53</a> of file <a class="el" href="_fast_i_o_8h_source.html">FastIO.h</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8h_source.html#l00057">57</a> of file <a class="el" href="_fast_i_o_8h_source.html">FastIO.h</a>.</p>
 
 </div>
 </div>
       </table>
 </div>
 <div class="memdoc">
-<p>Skip setting IO outputs during IO configuration or when getting the output register associated to an IO pin.k </p>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8h_source.html#l00065">65</a> of file <a class="el" href="_fast_i_o_8h_source.html">FastIO.h</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8h_source.html#l00042">42</a> of file <a class="el" href="_fast_i_o_8h_source.html">FastIO.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_fast_i_o_8h_source.html#l00069">69</a> of file <a class="el" href="_fast_i_o_8h_source.html">FastIO.h</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8h_source.html#l00060">60</a> of file <a class="el" href="_fast_i_o_8h_source.html">FastIO.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_fast_i_o_8h_source.html#l00081">81</a> of file <a class="el" href="_fast_i_o_8h_source.html">FastIO.h</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8h_source.html#l00061">61</a> of file <a class="el" href="_fast_i_o_8h_source.html">FastIO.h</a>.</p>
 
 </div>
 </div>
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>Value read from pin </dd></dl>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00089">89</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00095">95</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
 
 </div>
 </div>
   </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00070">70</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00076">76</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
 
 </div>
 </div>
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>Bit </dd></dl>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00060">60</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00065">65</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
 
 </div>
 </div>
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>Register </dd></dl>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00048">48</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00052">52</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
 
 </div>
 </div>
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>Register </dd></dl>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00032">32</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00035">35</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
 
 </div>
 </div>
   </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00131">131</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00159">159</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
 
 </div>
 </div>
   </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00102">102</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00108">108</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
 
 </div>
 </div>
   </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00158">158</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00190">190</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
 
 </div>
 </div>
   </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00232">232</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00264">264</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
 
 </div>
 </div>
   </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00151">151</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00181">181</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
 
 </div>
 </div>
   </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00146">146</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
+<p>Definition at line <a class="el" href="_fast_i_o_8cpp_source.html#l00176">176</a> of file <a class="el" href="_fast_i_o_8cpp_source.html">FastIO.cpp</a>.</p>
 
 </div>
 </div>
 </iframe>
 </div>
 
-<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 23 2012 20:38:55 for LCD Library by&#160;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
 </body>

docs/html/_fast_i_o_8h_source.html

 <a name="l00021"></a>00021 <span class="comment">// @version API 1.0.0</span>
 <a name="l00022"></a>00022 <span class="comment">//</span>
 <a name="l00023"></a>00023 <span class="comment">// @author Florian Fida -</span>
-<a name="l00024"></a>00024 <span class="comment">//</span>
-<a name="l00025"></a>00025 <span class="comment">// @todo:</span>
-<a name="l00026"></a>00026 <span class="comment">//  support chipkit:</span>
-<a name="l00027"></a>00027 <span class="comment">// (https://github.com/chipKIT32/chipKIT32-MAX/blob/master/hardware/pic32/</span>
-<a name="l00028"></a>00028 <span class="comment">//   cores/pic32/wiring_digital.c)</span>
-<a name="l00029"></a>00029 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00030"></a>00030 <span class="preprocessor">#ifndef _FAST_IO_H_</span>
-<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#define _FAST_IO_H_</span>
-<a name="l00032"></a>00032 <span class="preprocessor"></span>
-<a name="l00033"></a>00033 <span class="preprocessor">#if (ARDUINO &lt;  100)</span>
-<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#include &lt;WProgram.h&gt;</span>
-<a name="l00035"></a>00035 <span class="preprocessor">#else</span>
-<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#include &lt;Arduino.h&gt;</span>
-<a name="l00037"></a>00037 <span class="preprocessor">#endif</span>
-<a name="l00038"></a>00038 <span class="preprocessor"></span>
-<a name="l00039"></a>00039 <span class="preprocessor">#include &lt;pins_arduino.h&gt;</span> <span class="comment">// pleasing sanguino core</span>
-<a name="l00040"></a>00040 <span class="preprocessor">#include &lt;inttypes.h&gt;</span>
+<a name="l00024"></a>00024 <span class="comment">// 2012-03-16 bperrybap mods for chipkit32 (pic32) Arduino</span>
+<a name="l00025"></a>00025 <span class="comment">//  support chipkit:</span>
+<a name="l00026"></a>00026 <span class="comment">// (https://github.com/chipKIT32/chipKIT32-MAX/blob/master/hardware/pic32/</span>
+<a name="l00027"></a>00027 <span class="comment">//   cores/pic32/wiring_digital.c)</span>
+<a name="l00028"></a>00028 <span class="comment">// ---------------------------------------------------------------------------</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#ifndef _FAST_IO_H_</span>
+<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define _FAST_IO_H_</span>
+<a name="l00031"></a>00031 <span class="preprocessor"></span>
+<a name="l00032"></a>00032 <span class="preprocessor">#if (ARDUINO &lt;  100)</span>
+<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#include &lt;WProgram.h&gt;</span>
+<a name="l00034"></a>00034 <span class="preprocessor">#else</span>
+<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#include &lt;Arduino.h&gt;</span>
+<a name="l00036"></a>00036 <span class="preprocessor">#endif</span>
+<a name="l00037"></a>00037 <span class="preprocessor"></span>
+<a name="l00038"></a>00038 <span class="preprocessor">#include &lt;pins_arduino.h&gt;</span> <span class="comment">// pleasing sanguino core</span>
+<a name="l00039"></a>00039 <span class="preprocessor">#include &lt;inttypes.h&gt;</span>
+<a name="l00040"></a>00040 
 <a name="l00041"></a>00041 
-<a name="l00042"></a>00042 <span class="preprocessor">#ifdef __AVR__</span>
-<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="preprocessor">#include &lt;util/atomic.h&gt;</span> <span class="comment">// for critical section management</span>
-<a name="l00044"></a>00044 <span class="preprocessor">#endif</span>
-<a name="l00045"></a>00045 <span class="preprocessor"></span>
-<a name="l00046"></a>00046 
-<a name="l00052"></a>00052 <span class="preprocessor">#ifndef __AVR__</span>
-<a name="l00053"></a><a class="code" href="_fast_i_o_8h.html#a32f90d0ad5c1295c97cc1e79936aadd6">00053</a> <span class="preprocessor"></span><span class="preprocessor">#define FIO_FALLBACK</span>
-<a name="l00054"></a><a class="code" href="_fast_i_o_8h.html#a04971fe5fabe4129736708c494e08e6d">00054</a> <span class="preprocessor"></span><span class="preprocessor">#define ATOMIC_BLOCK(dummy) if(true)</span>
-<a name="l00055"></a><a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">00055</a> <span class="preprocessor"></span><span class="preprocessor">#define ATOMIC_RESTORESTATE</span>
-<a name="l00056"></a>00056 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00057"></a>00057 <span class="preprocessor"></span>
-<a name="l00058"></a>00058 <span class="comment">// PUBLIC CONSTANTS DEFINITIONS</span>
-<a name="l00059"></a>00059 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00065"></a><a class="code" href="_fast_i_o_8h.html#a688a4adbb87520a2b68681bd6bfb199e">00065</a> <span class="comment"></span><span class="preprocessor">#define SKIP 0x23</span>
-<a name="l00066"></a>00066 <span class="preprocessor"></span>
-<a name="l00067"></a>00067 <span class="comment">// PUBLIC TYPE DEFINITIONS</span>
-<a name="l00068"></a>00068 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00069"></a><a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">00069</a> <span class="keyword">typedef</span> uint8_t <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a>;
-<a name="l00070"></a>00070 
-<a name="l00077"></a>00077 <span class="preprocessor">#ifndef FIO_FALLBACK</span>
-<a name="l00078"></a>00078 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keyword">volatile</span> uint8_t *<a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a>;
-<a name="l00079"></a>00079 <span class="preprocessor">#else</span>
-<a name="l00080"></a>00080 <span class="preprocessor"></span><span class="comment">// remove volatile to give optimizer a chance</span>
-<a name="l00081"></a><a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">00081</a> <span class="keyword">typedef</span> uint8_t <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a>;
-<a name="l00082"></a>00082 <span class="preprocessor">#endif</span>
-<a name="l00083"></a>00083 <span class="preprocessor"></span>
-<a name="l00091"></a>00091 <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> <a class="code" href="_fast_i_o_8cpp.html#a04210cc785c3b4a11c86f794949c327f">fio_pinToOutputRegister</a>(uint8_t pin, uint8_t initial_state = LOW);
-<a name="l00092"></a>00092 
-<a name="l00100"></a>00100 <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> <a class="code" href="_fast_i_o_8cpp.html#afb934fc0ded94cbb5ed8ed14e2a123ed">fio_pinToInputRegister</a>(uint8_t pin);
-<a name="l00101"></a>00101 
-<a name="l00109"></a>00109 <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> <a class="code" href="_fast_i_o_8cpp.html#abe64155b836ffa8a137eb17d17995f84">fio_pinToBit</a>(uint8_t pin);
-<a name="l00110"></a>00110 
-<a name="l00111"></a>00111 
-<a name="l00121"></a>00121 <span class="comment">// __attribute__ ((always_inline)) /* let the optimizer decide that for now */</span>
-<a name="l00122"></a>00122 <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#a19962d1b3fc351693779f633a36105a8">fio_digitalWrite</a> ( <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> pinRegister, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> pinBit, uint8_t value );
-<a name="l00123"></a>00123 
-<a name="l00130"></a>00130 <span class="preprocessor">#ifndef FIO_FALLBACK</span>
-<a name="l00131"></a>00131 <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_LOW(reg,bit) *reg &amp;= ~bit</span>
-<a name="l00132"></a>00132 <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_HIGH(reg,bit) *reg |= bit</span>
-<a name="l00133"></a>00133 <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_SWITCH(reg,bit) *reg ^= bit</span>
-<a name="l00134"></a>00134 <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_SWITCHTO(reg,bit,val) fio_digitalWrite_SWITCH(reg,bit)</span>
-<a name="l00135"></a>00135 <span class="preprocessor"></span><span class="preprocessor">#else</span>
-<a name="l00136"></a>00136 <span class="preprocessor"></span><span class="comment">// reg -&gt; dummy NULL, bit -&gt; pin</span>
-<a name="l00137"></a><a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">00137</a> <span class="preprocessor">#define fio_digitalWrite_HIGH(reg,bit) digitalWrite(bit,HIGH)</span>
-<a name="l00138"></a><a class="code" href="_fast_i_o_8h.html#ac8f00a1bccb98109531b88fbb6e91478">00138</a> <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_LOW(reg,bit) digitalWrite(bit,LOW)</span>
-<a name="l00139"></a><a class="code" href="_fast_i_o_8h.html#a6d1dffed7f0c8f28f6c88146315f7832">00139</a> <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_SWITCH(reg,bit) digitalWrite(bit, !digitalRead(bit))</span>
-<a name="l00140"></a><a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">00140</a> <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_SWITCHTO(reg,bit,val) digitalWrite(bit,val);</span>
-<a name="l00141"></a>00141 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00142"></a>00142 <span class="preprocessor"></span>
-<a name="l00152"></a>00152 <span class="keywordtype">int</span> <a class="code" href="_fast_i_o_8cpp.html#a83fc2fdc19ab3f9aade9e1a2f39e81a6">fio_digitalRead</a> ( <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> pinRegister, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> pinBit );
-<a name="l00153"></a>00153 
-<a name="l00165"></a>00165 <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#a56c72b9f00680662229895ab22aaa743">fio_shiftOut</a>( <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> dataRegister, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> dataBit, <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> clockRegister, 
-<a name="l00166"></a>00166                    <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> clockBit, uint8_t value, uint8_t bitOrder );
-<a name="l00167"></a>00167 
-<a name="l00178"></a>00178 <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#a56c72b9f00680662229895ab22aaa743">fio_shiftOut</a>(<a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> dataRegister, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> dataBit, <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> clockRegister, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> clockBit);
-<a name="l00179"></a>00179 
-<a name="l00188"></a>00188 <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#a5b4d1684030dc620938b7c2fbdf5ced8">fio_shiftOut1</a>(<a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> shift1Register, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> shift1Bit, uint8_t value, <span class="keywordtype">boolean</span> noLatch = <span class="keyword">false</span>);
-<a name="l00196"></a>00196 <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#a5b4d1684030dc620938b7c2fbdf5ced8">fio_shiftOut1</a>(uint8_t pin, uint8_t value, <span class="keywordtype">boolean</span> noLatch = <span class="keyword">false</span>);
-<a name="l00204"></a>00204 <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#ae4b2e099f8ade9ee674d1565669e870a">fio_shiftOut1_init</a>(<a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> shift1Register, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> shift1Bit);
-<a name="l00211"></a>00211 <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#ae4b2e099f8ade9ee674d1565669e870a">fio_shiftOut1_init</a>(uint8_t pin);
-<a name="l00212"></a>00212 
-<a name="l00213"></a>00213 <span class="preprocessor">#endif // FAST_IO_H</span>
+<a name="l00042"></a><a class="code" href="_fast_i_o_8h.html#a688a4adbb87520a2b68681bd6bfb199e">00042</a> <span class="preprocessor">#define SKIP 0x23</span>
+<a name="l00043"></a>00043 <span class="preprocessor"></span>
+<a name="l00044"></a>00044 <span class="preprocessor">#if defined (__AVR__)</span>
+<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#include &lt;util/atomic.h&gt;</span> <span class="comment">// for critical section management</span>
+<a name="l00046"></a>00046 <span class="keyword">typedef</span> uint8_t <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a>;
+<a name="l00047"></a>00047 <span class="keyword">typedef</span> <span class="keyword">volatile</span> uint8_t *<a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a>;
+<a name="l00048"></a>00048 
+<a name="l00049"></a>00049 
+<a name="l00050"></a>00050 <span class="preprocessor">#elif defined(__PIC32MX__)</span>
+<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="keyword">typedef</span> uint32_t <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a>;
+<a name="l00052"></a>00052 <span class="keyword">typedef</span> <span class="keyword">volatile</span> uint32_t *<a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a>;
+<a name="l00053"></a>00053 
+<a name="l00054"></a>00054 
+<a name="l00055"></a>00055 <span class="preprocessor">#else</span>
+<a name="l00056"></a>00056 <span class="preprocessor"></span><span class="comment">// fallback to Arduino standard digital i/o routines</span>
+<a name="l00057"></a><a class="code" href="_fast_i_o_8h.html#a32f90d0ad5c1295c97cc1e79936aadd6">00057</a> <span class="preprocessor">#define FIO_FALLBACK</span>
+<a name="l00058"></a><a class="code" href="_fast_i_o_8h.html#a04971fe5fabe4129736708c494e08e6d">00058</a> <span class="preprocessor"></span><span class="preprocessor">#define ATOMIC_BLOCK(dummy) if(true)</span>
+<a name="l00059"></a><a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">00059</a> <span class="preprocessor"></span><span class="preprocessor">#define ATOMIC_RESTORESTATE</span>
+<a name="l00060"></a><a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">00060</a> <span class="preprocessor"></span><span class="keyword">typedef</span> uint8_t <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a>;
+<a name="l00061"></a><a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">00061</a> <span class="keyword">typedef</span> uint8_t <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a>;
+<a name="l00062"></a>00062 <span class="preprocessor">#endif</span>
+<a name="l00063"></a>00063 <span class="preprocessor"></span>
+<a name="l00064"></a>00064 
+<a name="l00065"></a>00065 
+<a name="l00066"></a>00066 <span class="preprocessor">#if !defined(FIO_FALLBACK) &amp;&amp; !defined(ATOMIC_BLOCK)</span>
+<a name="l00067"></a>00067 <span class="preprocessor"></span><span class="comment">/*</span>
+<a name="l00068"></a>00068 <span class="comment"> * Define an ATOMIC_BLOCK that implements ATOMIC_FORCEON type</span>
+<a name="l00069"></a>00069 <span class="comment"> * Using the portable Arduino interrupts() and noInterrupts()</span>
+<a name="l00070"></a>00070 <span class="comment"> */</span>
+<a name="l00071"></a>00071 <span class="preprocessor">#define ATOMIC_RESTORESTATE ATOMIC_FORCEON // sorry, no support for save/restore yet.</span>
+<a name="l00072"></a>00072 <span class="preprocessor"></span><span class="preprocessor">#define ATOMIC_FORCEON uint8_t sreg_save \</span>
+<a name="l00073"></a>00073 <span class="preprocessor">              __attribute__((__cleanup__(__iSeiParam))) = 0</span>
+<a name="l00074"></a>00074 <span class="preprocessor"></span>
+<a name="l00075"></a>00075 <span class="keyword">static</span> __inline__ uint8_t __iCliRetVal(<span class="keywordtype">void</span>)
+<a name="l00076"></a>00076 {
+<a name="l00077"></a>00077         noInterrupts();
+<a name="l00078"></a>00078         <span class="keywordflow">return</span>(1);
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080 <span class="keyword">static</span> __inline__ <span class="keywordtype">void</span> __iSeiParam(<span class="keyword">const</span> uint8_t *__s)
+<a name="l00081"></a>00081 {
+<a name="l00082"></a>00082         interrupts();
+<a name="l00083"></a>00083 }
+<a name="l00084"></a>00084 <span class="preprocessor">#define ATOMIC_BLOCK(type) for(type,  __Todo = __iCliRetVal(); __Todo; __Todo = 0)</span>
+<a name="l00085"></a>00085 <span class="preprocessor"></span>
+<a name="l00086"></a>00086 <span class="preprocessor">#endif // end of block to create compatible ATOMIC_BLOCK()</span>
+<a name="l00087"></a>00087 <span class="preprocessor"></span>
+<a name="l00088"></a>00088 
+<a name="l00089"></a>00089 
+<a name="l00097"></a>00097 <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> <a class="code" href="_fast_i_o_8cpp.html#a04210cc785c3b4a11c86f794949c327f">fio_pinToOutputRegister</a>(uint8_t pin, uint8_t initial_state = LOW);
+<a name="l00098"></a>00098 
+<a name="l00106"></a>00106 <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> <a class="code" href="_fast_i_o_8cpp.html#afb934fc0ded94cbb5ed8ed14e2a123ed">fio_pinToInputRegister</a>(uint8_t pin);
+<a name="l00107"></a>00107 
+<a name="l00115"></a>00115 <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> <a class="code" href="_fast_i_o_8cpp.html#a07a19dfbdca1afaca5d666bdaa3be7d5">fio_pinToBit</a>(uint8_t pin);
+<a name="l00116"></a>00116 
+<a name="l00117"></a>00117 
+<a name="l00127"></a>00127 <span class="comment">// __attribute__ ((always_inline)) /* let the optimizer decide that for now */</span>
+<a name="l00128"></a>00128 <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#ae91bbe682b02a5842c291055c0e998b5">fio_digitalWrite</a> ( <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> pinRegister, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> pinBit, uint8_t value );
+<a name="l00129"></a>00129 
+<a name="l00136"></a>00136 <span class="preprocessor">#ifndef FIO_FALLBACK</span>
+<a name="l00137"></a>00137 <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_LOW(reg,bit) *reg &amp;= ~bit</span>
+<a name="l00138"></a>00138 <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_HIGH(reg,bit) *reg |= bit</span>
+<a name="l00139"></a>00139 <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_SWITCH(reg,bit) *reg ^= bit</span>
+<a name="l00140"></a>00140 <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_SWITCHTO(reg,bit,val) fio_digitalWrite_SWITCH(reg,bit)</span>
+<a name="l00141"></a>00141 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+<a name="l00142"></a>00142 <span class="preprocessor"></span><span class="comment">// reg -&gt; dummy NULL, bit -&gt; pin</span>
+<a name="l00143"></a><a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">00143</a> <span class="preprocessor">#define fio_digitalWrite_HIGH(reg,bit) digitalWrite(bit,HIGH)</span>
+<a name="l00144"></a><a class="code" href="_fast_i_o_8h.html#ac8f00a1bccb98109531b88fbb6e91478">00144</a> <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_LOW(reg,bit) digitalWrite(bit,LOW)</span>
+<a name="l00145"></a><a class="code" href="_fast_i_o_8h.html#a6d1dffed7f0c8f28f6c88146315f7832">00145</a> <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_SWITCH(reg,bit) digitalWrite(bit, !digitalRead(bit))</span>
+<a name="l00146"></a><a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">00146</a> <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_SWITCHTO(reg,bit,val) digitalWrite(bit,val);</span>
+<a name="l00147"></a>00147 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00148"></a>00148 <span class="preprocessor"></span>
+<a name="l00158"></a>00158 <span class="keywordtype">int</span> <a class="code" href="_fast_i_o_8cpp.html#a83fc2fdc19ab3f9aade9e1a2f39e81a6">fio_digitalRead</a> ( <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> pinRegister, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> pinBit );
+<a name="l00159"></a>00159 
+<a name="l00171"></a>00171 <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#a56c72b9f00680662229895ab22aaa743">fio_shiftOut</a>( <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> dataRegister, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> dataBit, <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> clockRegister, 
+<a name="l00172"></a>00172                   <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> clockBit, uint8_t value, uint8_t bitOrder );
+<a name="l00173"></a>00173 
+<a name="l00184"></a>00184 <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#a56c72b9f00680662229895ab22aaa743">fio_shiftOut</a>(<a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> dataRegister, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> dataBit, <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> clockRegister, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> clockBit);
+<a name="l00185"></a>00185 
+<a name="l00194"></a>00194 <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#a5b4d1684030dc620938b7c2fbdf5ced8">fio_shiftOut1</a>(<a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> shift1Register, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> shift1Bit, uint8_t value, <span class="keywordtype">boolean</span> noLatch = <span class="keyword">false</span>);
+<a name="l00202"></a>00202 <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#a5b4d1684030dc620938b7c2fbdf5ced8">fio_shiftOut1</a>(uint8_t pin, uint8_t value, <span class="keywordtype">boolean</span> noLatch = <span class="keyword">false</span>);
+<a name="l00210"></a>00210 <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#ae4b2e099f8ade9ee674d1565669e870a">fio_shiftOut1_init</a>(<a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> shift1Register, <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> shift1Bit);
+<a name="l00217"></a>00217 <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#ae4b2e099f8ade9ee674d1565669e870a">fio_shiftOut1_init</a>(uint8_t pin);
+<a name="l00218"></a>00218 
+<a name="l00219"></a>00219 <span class="preprocessor">#endif // FAST_IO_H</span>
 </pre></div></div>
 </div>
 <!-- window showing the filter options -->
 </iframe>
 </div>
 
-<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 23 2012 20:38:55 for LCD Library by&#160;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
 </body>

docs/html/_i2_c_i_o_8cpp.html

 </iframe>
 </div>
 
-<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 23 2012 20:38:55 for LCD Library by&#160;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
 </body>

docs/html/_i2_c_i_o_8cpp_source.html

 </iframe>
 </div>
 
-<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 23 2012 20:38:55 for LCD Library by&#160;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
 </body>

docs/html/_i2_c_i_o_8h.html

 </iframe>
 </div>
 
-<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 23 2012 20:38:55 for LCD Library by&#160;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
 </body>

docs/html/_i2_c_i_o_8h_source.html

 </iframe>
 </div>
 
-<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 23 2012 20:38:55 for LCD Library by&#160;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
 </body>

docs/html/_l_c_d_8cpp.html

 </iframe>
 </div>
 
-<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 23 2012 20:38:55 for LCD Library by&#160;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
 </body>

docs/html/_l_c_d_8cpp_source.html

 </iframe>
 </div>
 
-<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 23 2012 20:38:55 for LCD Library by&#160;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
 </body>

docs/html/_l_c_d_8h.html

 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_l_c_d_8h.html#aa5bad1c51f5fac029f3deacfef48c54b">BACKLIGHT_ON</a>&#160;&#160;&#160;255</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_l_c_d_8h.html#ab0d87e07831e7e4943caef187872123e">COMMAND</a>&#160;&#160;&#160;0</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_l_c_d_8h.html#aad9ae913bdfab20dd94ad04ee2d5b045">DATA</a>&#160;&#160;&#160;1</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_l_c_d_8h.html#ac707c9605a0b9ca67aa757ad23377feb">FAST_MODE</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_l_c_d_8h.html#aa1e30e32b6c2cf8d90a9281328472dbe">FOUR_BITS</a>&#160;&#160;&#160;2</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_l_c_d_8h.html#ad25b138788d83e67f840588754e2df2f">HOME_CLEAR_EXEC</a>&#160;&#160;&#160;2000</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_l_c_d_8h.html#a8c85cf88d8af66a47c42249d81c94641">LCD_1LINE</a>&#160;&#160;&#160;0x00</td></tr>
 <div class="memdoc">
 <p>Backlight off constant declaration  Used in combination with the setBacklight to swith off the <a class="el" href="class_l_c_d.html">LCD</a> backlight.  setBacklight </p>
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00149">149</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00151">151</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 <div class="memdoc">
 <p>Backlight on constant declaration  Used in combination with the setBacklight to swith on the <a class="el" href="class_l_c_d.html">LCD</a> backlight.  setBacklight </p>
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00157">157</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00159">159</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00130">130</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00132">132</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00131">131</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ac707c9605a0b9ca67aa757ad23377feb"></a><!-- doxytag: member="LCD.h::FAST_MODE" ref="ac707c9605a0b9ca67aa757ad23377feb" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define FAST_MODE</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-<p>Enables disables fast waits for write operations for <a class="el" href="class_l_c_d.html">LCD</a>  If defined, the library will avoid doing un-necessary waits. this can be done, because the time taken by Arduino's slow digitalWrite operations. If fast digitalIO operations, comment this line out or undefine the mode. </p>
-
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00058">58</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00133">133</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00132">132</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00134">134</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 <div class="memdoc">
 <p>Defines the duration of the home and clear commands  This constant defines the time it takes for the home and clear commands in the <a class="el" href="class_l_c_d.html">LCD</a> - Time in microseconds. </p>
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00141">141</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00143">143</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00123">123</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00125">125</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00122">122</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00124">124</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00121">121</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00123">123</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00124">124</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00126">126</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00125">125</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00127">127</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00120">120</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00122">122</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00109">109</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00111">111</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00108">108</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00110">110</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 <div class="memdoc">
 <p>All these definitions shouldn't be used unless you are writing a driver.  All these definitions are for driver implementation only and shouldn't be used by applications. </p>
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00086">86</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00088">88</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00114">114</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00116">116</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00107">107</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00109">109</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00106">106</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00108">108</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00090">90</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00092">92</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00089">89</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00091">91</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00113">113</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00115">115</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00105">105</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00107">107</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00104">104</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00106">106</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00098">98</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00100">100</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00088">88</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00090">90</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00097">97</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00099">99</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00100">100</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00102">102</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00099">99</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00101">101</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00091">91</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00093">93</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00116">116</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00118">118</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00115">115</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00117">117</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00087">87</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00089">89</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00092">92</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00094">94</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00093">93</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00095">95</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00165">165</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00167">167</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
       </table>
 </div>
 <div class="memdoc">
+<p>Enables disables fast waits for write operations for <a class="el" href="class_l_c_d.html">LCD</a>  If defined, the library will avoid doing un-necessary waits. this can be done, because the time taken by Arduino's slow digitalWrite operations. If fast digitalIO operations, comment this line out or undefine the mode.</p>
 <p>waits for a given time in microseconds (compilation dependent).  Waits for a given time defined in microseconds depending on the FAST_MODE define. If the FAST_MODE is defined the call will return inmediatelly. </p>
 <dl><dt><b>Parameters:</b></dt><dd>
   <table class="params">
 </dl>
 <dl class="return"><dt><b>Returns:</b></dt><dd>None </dd></dl>
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00069">69</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00071">71</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </iframe>
 </div>
 
-<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 23 2012 20:38:55 for LCD Library by&#160;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
 </body>

docs/html/_l_c_d_8h_source.html

 <a name="l00047"></a>00047 <span class="preprocessor">#include &lt;Print.h&gt;</span>
 <a name="l00048"></a>00048 
 <a name="l00049"></a>00049 
-<a name="l00058"></a><a class="code" href="_l_c_d_8h.html#ac707c9605a0b9ca67aa757ad23377feb">00058</a> <span class="preprocessor">#define FAST_MODE</span>
-<a name="l00059"></a>00059 <span class="preprocessor"></span>
-<a name="l00069"></a><a class="code" href="_l_c_d_8h.html#a6eac41e4be58d7736ac0c19de225c0dc">00069</a> <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="_l_c_d_8h.html#a6eac41e4be58d7736ac0c19de225c0dc">waitUsec</a> ( uint16_t uSec )
-<a name="l00070"></a>00070 {
-<a name="l00071"></a>00071 <span class="preprocessor">#ifndef FAST_MODE</span>
-<a name="l00072"></a>00072 <span class="preprocessor"></span>   delayMicroseconds ( uSec );
-<a name="l00073"></a>00073 <span class="preprocessor">#endif // FAST_MODE</span>
-<a name="l00074"></a>00074 <span class="preprocessor"></span>}
-<a name="l00075"></a>00075 
-<a name="l00076"></a>00076 
-<a name="l00084"></a>00084 <span class="comment">// LCD Commands</span>
-<a name="l00085"></a>00085 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00086"></a><a class="code" href="_l_c_d_8h.html#acc3509bc0442b41e2b816555de473ed2">00086</a> <span class="preprocessor">#define LCD_CLEARDISPLAY        0x01</span>
-<a name="l00087"></a><a class="code" href="_l_c_d_8h.html#a154c86a887633d0f6d9988e4dbb1f419">00087</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_RETURNHOME          0x02</span>
-<a name="l00088"></a><a class="code" href="_l_c_d_8h.html#a5597e1d5819ea2f0734ad4313abf6703">00088</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_ENTRYMODESET        0x04</span>
-<a name="l00089"></a><a class="code" href="_l_c_d_8h.html#adfb8b2b8b8a08d7313504d7a4f89d99f">00089</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_DISPLAYCONTROL      0x08</span>
-<a name="l00090"></a><a class="code" href="_l_c_d_8h.html#a61f16a2b7550e4700f7898a7587c5594">00090</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_CURSORSHIFT         0x10</span>
-<a name="l00091"></a><a class="code" href="_l_c_d_8h.html#aaef882ae70d1f485cd132815d9716111">00091</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_FUNCTIONSET         0x20</span>
-<a name="l00092"></a><a class="code" href="_l_c_d_8h.html#aae6ea856879c11dee58493184582a52f">00092</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_SETCGRAMADDR        0x40</span>
-<a name="l00093"></a><a class="code" href="_l_c_d_8h.html#a15008b832807a208d9d88c74e6751ebf">00093</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_SETDDRAMADDR        0x80</span>
-<a name="l00094"></a>00094 <span class="preprocessor"></span>
-<a name="l00095"></a>00095 <span class="comment">// flags for display entry mode</span>
-<a name="l00096"></a>00096 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00097"></a><a class="code" href="_l_c_d_8h.html#a43c26ba2e66880fac95ef640b56873ad">00097</a> <span class="preprocessor">#define LCD_ENTRYRIGHT          0x00</span>
-<a name="l00098"></a><a class="code" href="_l_c_d_8h.html#ae7c6309fce6200bd7526d090a4a84dd0">00098</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_ENTRYLEFT           0x02</span>
-<a name="l00099"></a><a class="code" href="_l_c_d_8h.html#aa2cf1d0f4a319e53c009cffe1184466c">00099</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_ENTRYSHIFTINCREMENT 0x01</span>
-<a name="l00100"></a><a class="code" href="_l_c_d_8h.html#a049ee97e98d04788c1da9a55590fbe42">00100</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_ENTRYSHIFTDECREMENT 0x00</span>
-<a name="l00101"></a>00101 <span class="preprocessor"></span>
-<a name="l00102"></a>00102 <span class="comment">// flags for display on/off and cursor control</span>
-<a name="l00103"></a>00103 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00104"></a><a class="code" href="_l_c_d_8h.html#a76236ae8317b34bbc98ea56bc0a2639c">00104</a> <span class="preprocessor">#define LCD_DISPLAYON           0x04</span>
-<a name="l00105"></a><a class="code" href="_l_c_d_8h.html#a257ebe775cac7140cf82aa40d8ce545a">00105</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_DISPLAYOFF          0x00</span>
-<a name="l00106"></a><a class="code" href="_l_c_d_8h.html#ab67f0adccde68de88eee0513fdfc4574">00106</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_CURSORON            0x02</span>
-<a name="l00107"></a><a class="code" href="_l_c_d_8h.html#a32b194a3adaa0a0bb69acee2e6a754fa">00107</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_CURSOROFF           0x00</span>
-<a name="l00108"></a><a class="code" href="_l_c_d_8h.html#ac3b19d4e6553b9bbf18a23387e439206">00108</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_BLINKON             0x01</span>
-<a name="l00109"></a><a class="code" href="_l_c_d_8h.html#a4b28243034cec656b0ed490ba6979752">00109</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_BLINKOFF            0x00</span>
-<a name="l00110"></a>00110 <span class="preprocessor"></span>
-<a name="l00111"></a>00111 <span class="comment">// flags for display/cursor shift</span>
-<a name="l00112"></a>00112 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00113"></a><a class="code" href="_l_c_d_8h.html#ab2f7b67abfac33f610acfd5d7a971f40">00113</a> <span class="preprocessor">#define LCD_DISPLAYMOVE         0x08</span>
-<a name="l00114"></a><a class="code" href="_l_c_d_8h.html#ac21f0302ac4136775877d5f4759e4f74">00114</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_CURSORMOVE          0x00</span>
-<a name="l00115"></a><a class="code" href="_l_c_d_8h.html#acf5999180233790bb2c9902efde58f7f">00115</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_MOVERIGHT           0x04</span>
-<a name="l00116"></a><a class="code" href="_l_c_d_8h.html#aafb86adb0dfca1e65d65b2cd1946a009">00116</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_MOVELEFT            0x00</span>
-<a name="l00117"></a>00117 <span class="preprocessor"></span>
-<a name="l00118"></a>00118 <span class="comment">// flags for function set</span>
-<a name="l00119"></a>00119 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00120"></a><a class="code" href="_l_c_d_8h.html#a59a57ca857dae5d89eb5f2a38c4ac6f0">00120</a> <span class="preprocessor">#define LCD_8BITMODE            0x10</span>
-<a name="l00121"></a><a class="code" href="_l_c_d_8h.html#ab8c35d355d2372090c7a347e961c9224">00121</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_4BITMODE            0x00</span>
-<a name="l00122"></a><a class="code" href="_l_c_d_8h.html#a7987e93538df2819583ba43b81ddbb25">00122</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_2LINE               0x08</span>
-<a name="l00123"></a><a class="code" href="_l_c_d_8h.html#a8c85cf88d8af66a47c42249d81c94641">00123</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_1LINE               0x00</span>
-<a name="l00124"></a><a class="code" href="_l_c_d_8h.html#abb3210156d88d3fe18c9352eb161fe42">00124</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_5x10DOTS            0x04</span>
-<a name="l00125"></a><a class="code" href="_l_c_d_8h.html#a9ef57e724c1b846dae0f531aff6fb464">00125</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_5x8DOTS             0x00</span>
-<a name="l00126"></a>00126 <span class="preprocessor"></span>
-<a name="l00127"></a>00127 
-<a name="l00128"></a>00128 <span class="comment">// Define COMMAND and DATA LCD Rs (used by send method).</span>
-<a name="l00129"></a>00129 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00130"></a><a class="code" href="_l_c_d_8h.html#ab0d87e07831e7e4943caef187872123e">00130</a> <span class="preprocessor">#define COMMAND                 0</span>
-<a name="l00131"></a><a class="code" href="_l_c_d_8h.html#aad9ae913bdfab20dd94ad04ee2d5b045">00131</a> <span class="preprocessor"></span><span class="preprocessor">#define DATA                    1</span>
-<a name="l00132"></a><a class="code" href="_l_c_d_8h.html#aa1e30e32b6c2cf8d90a9281328472dbe">00132</a> <span class="preprocessor"></span><span class="preprocessor">#define FOUR_BITS               2</span>
-<a name="l00133"></a>00133 <span class="preprocessor"></span>
-<a name="l00134"></a>00134 
-<a name="l00141"></a><a class="code" href="_l_c_d_8h.html#ad25b138788d83e67f840588754e2df2f">00141</a> <span class="preprocessor">#define HOME_CLEAR_EXEC      2000</span>
-<a name="l00142"></a>00142 <span class="preprocessor"></span>
-<a name="l00149"></a><a class="code" href="_l_c_d_8h.html#a0f50ae3b4bdb42dd5ad74b2c604a7515">00149</a> <span class="preprocessor">#define BACKLIGHT_OFF           0</span>
-<a name="l00150"></a>00150 <span class="preprocessor"></span>
-<a name="l00157"></a><a class="code" href="_l_c_d_8h.html#aa5bad1c51f5fac029f3deacfef48c54b">00157</a> <span class="preprocessor">#define BACKLIGHT_ON          255</span>
-<a name="l00158"></a>00158 <span class="preprocessor"></span>
-<a name="l00159"></a>00159 
-<a name="l00165"></a><a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bc">00165</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bca03d440bbbfb042afc85347f994b44fb5">POSITIVE</a>, <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bca62d66a51fa7574c652597716f7709865">NEGATIVE</a> } <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bc">t_backlighPol</a>;
-<a name="l00166"></a>00166 
-<a name="l00167"></a><a class="code" href="class_l_c_d.html">00167</a> <span class="keyword">class </span><a class="code" href="class_l_c_d.html">LCD</a> : <span class="keyword">public</span> Print 
-<a name="l00168"></a>00168 {
-<a name="l00169"></a>00169 <span class="keyword">public</span>:
-<a name="l00170"></a>00170    
-<a name="l00177"></a>00177    <a class="code" href="class_l_c_d.html#a00bb2db1390721abc7b24ac4b8c276c8">LCD</a> ( );
-<a name="l00178"></a>00178    
-<a name="l00193"></a>00193    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a3f587d1cbb2d59765ef60a5216b56fea">begin</a>(uint8_t cols, uint8_t rows, uint8_t charsize = <a class="code" href="_l_c_d_8h.html#a9ef57e724c1b846dae0f531aff6fb464">LCD_5x8DOTS</a>);
-<a name="l00194"></a>00194    
-<a name="l00205"></a>00205    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#afa699e0beeeee03cce8cef87eba81c4a">clear</a>();
-<a name="l00206"></a>00206    
-<a name="l00218"></a>00218    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#aee45ad37f09312f5d9982257e2d37e68">home</a>();
-<a name="l00219"></a>00219    
-<a name="l00228"></a>00228    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#af3974da6d988ba2d21c25135ada12108">noDisplay</a>();
-<a name="l00229"></a>00229    
-<a name="l00239"></a>00239    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a5b07cf05e8e5e7c53654f5ca0cf58b89">display</a>();
-<a name="l00240"></a>00240    
-<a name="l00247"></a>00247    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a3b755c4b397b5985752be8c30ee1a9b5">noBlink</a>();
-<a name="l00248"></a>00248    
-<a name="l00257"></a>00257    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a878b36878fa8287093964eba83aace77">blink</a>();
-<a name="l00258"></a>00258    
-<a name="l00265"></a>00265    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#aec8ffaa1e69c7a6e13ac0cfbc29151d9">noCursor</a>();
-<a name="l00266"></a>00266    
-<a name="l00275"></a>00275    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a194814f64dfa50a90e07e0fe0d361620">cursor</a>();
-<a name="l00276"></a>00276    
-<a name="l00284"></a>00284    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a6f3a503055b3b8dcf0f61b2633c584f7">scrollDisplayLeft</a>();
-<a name="l00285"></a>00285    
-<a name="l00293"></a>00293    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#abfc44b294772f09020bfa32af8a79571">scrollDisplayRight</a>();
-<a name="l00294"></a>00294    
-<a name="l00306"></a>00306    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a238e9f6476dc7df64af04eb6c87f6ac7">leftToRight</a>();
-<a name="l00307"></a>00307    
-<a name="l00319"></a>00319    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#ac014830eadc26bfd86308ea8734f4428">rightToLeft</a>();
-<a name="l00320"></a>00320    
-<a name="l00327"></a>00327    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#aad2abc99d1aca5403873579d9d72c2d4">moveCursorLeft</a>();
-<a name="l00328"></a>00328    
-<a name="l00329"></a>00329    
-<a name="l00336"></a>00336    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a09eec0c712e54b066f5894635c1fe75c">moveCursorRight</a>();
-<a name="l00337"></a>00337    
-<a name="l00351"></a>00351    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#abb3ed88d530f6283e6159b4973e7da9e">autoscroll</a>();
-<a name="l00352"></a>00352    
-<a name="l00361"></a>00361    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a96035dde40efbf73390e00b5beb00231">noAutoscroll</a>();
-<a name="l00362"></a>00362    
-<a name="l00379"></a>00379    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a91cba8f93c692abcddf8bc3de58d2d3a">createChar</a>(uint8_t location, uint8_t charmap[]);
-<a name="l00380"></a>00380    
-<a name="l00390"></a>00390    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a48220450fd152b25994eb7d0ba340e8d">setCursor</a>(uint8_t col, uint8_t row);
-<a name="l00391"></a>00391    
-<a name="l00399"></a>00399    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#aba8867fe2210cbfa8db869208709be10">backlight</a> ( <span class="keywordtype">void</span> );
-<a name="l00400"></a>00400    
-<a name="l00408"></a>00408    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a2a331b4e142734411b2f1cfaffe7a488">noBacklight</a> ( <span class="keywordtype">void</span> );
-<a name="l00409"></a>00409    
-<a name="l00417"></a>00417    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a718da3a638deb59bd1c7a5222a52d98a">on</a> ( <span class="keywordtype">void</span> );
-<a name="l00418"></a>00418 
-<a name="l00426"></a>00426    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a191639be183be1476c9bfe6d455d23b2">off</a> ( <span class="keywordtype">void</span> );
-<a name="l00427"></a>00427    
-<a name="l00428"></a>00428    <span class="comment">//</span>
-<a name="l00429"></a>00429    <span class="comment">// virtual class methods</span>
-<a name="l00430"></a>00430    <span class="comment">// --------------------------------------------------------------------------</span>
-<a name="l00441"></a><a class="code" href="class_l_c_d.html#a53f4ee9b39d9ab3d7ae4d9f8dedca3bc">00441</a> <span class="comment"></span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a53f4ee9b39d9ab3d7ae4d9f8dedca3bc">setBacklightPin</a> ( uint8_t value, <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bc">t_backlighPol</a> pol ) { };
-<a name="l00442"></a>00442    
-<a name="l00459"></a><a class="code" href="class_l_c_d.html#a3305570d7b37eb93f2cf840263c15828">00459</a>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a3305570d7b37eb93f2cf840263c15828">setBacklight</a> ( uint8_t value ) { };
-<a name="l00460"></a>00460    
-<a name="l00472"></a>00472 <span class="preprocessor">#if (ARDUINO &lt;  100)</span>
-<a name="l00473"></a>00473 <span class="preprocessor"></span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a2d89cc2e62f72afb5f15a7fd812900e3">write</a>(uint8_t value);
-<a name="l00474"></a>00474 <span class="preprocessor">#else</span>
-<a name="l00475"></a>00475 <span class="preprocessor"></span>   <span class="keyword">virtual</span> <span class="keywordtype">size_t</span> <a class="code" href="class_l_c_d.html#a2d89cc2e62f72afb5f15a7fd812900e3">write</a>(uint8_t value);
-<a name="l00476"></a>00476 <span class="preprocessor">#endif</span>
-<a name="l00477"></a>00477 <span class="preprocessor"></span>   
-<a name="l00478"></a>00478 <span class="preprocessor">#if (ARDUINO &lt;  100)</span>
-<a name="l00479"></a>00479 <span class="preprocessor"></span>   <span class="keyword">using</span> <a class="code" href="class_l_c_d.html#a2d89cc2e62f72afb5f15a7fd812900e3">Print::write</a>;
-<a name="l00480"></a>00480 <span class="preprocessor">#else</span>
-<a name="l00481"></a>00481 <span class="preprocessor"></span>   <span class="keyword">using</span> <a class="code" href="class_l_c_d.html#a2d89cc2e62f72afb5f15a7fd812900e3">Print::write</a>;
-<a name="l00482"></a>00482 <span class="preprocessor">#endif   </span>
-<a name="l00483"></a>00483 <span class="preprocessor"></span>   
-<a name="l00484"></a>00484 <span class="keyword">protected</span>:
-<a name="l00485"></a>00485    <span class="comment">// Internal LCD variables to control the LCD shared between all derived</span>
-<a name="l00486"></a>00486    <span class="comment">// classes.</span>
-<a name="l00487"></a><a class="code" href="class_l_c_d.html#aef093ba3f8e1016267b40ac235a0fa0f">00487</a>    uint8_t <a class="code" href="class_l_c_d.html#aef093ba3f8e1016267b40ac235a0fa0f">_displayfunction</a>;  <span class="comment">// LCD_5x10DOTS or LCD_5x8DOTS, LCD_4BITMODE or </span>
-<a name="l00488"></a>00488                               <span class="comment">// LCD_8BITMODE, LCD_1LINE or LCD_2LINE</span>
-<a name="l00489"></a><a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">00489</a>    uint8_t <a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">_displaycontrol</a>;   <span class="comment">// LCD base control command LCD on/off, blink, cursor</span>
-<a name="l00490"></a>00490                               <span class="comment">// all commands are &quot;ored&quot; to its contents.</span>
-<a name="l00491"></a><a class="code" href="class_l_c_d.html#a726b9a68d091dd8683a18e83f3a8fd3c">00491</a>    uint8_t <a class="code" href="class_l_c_d.html#a726b9a68d091dd8683a18e83f3a8fd3c">_displaymode</a>;      <span class="comment">// Text entry mode to the LCD</span>
-<a name="l00492"></a><a class="code" href="class_l_c_d.html#ac1374911fb145fea430c21092ada0c06">00492</a>    uint8_t <a class="code" href="class_l_c_d.html#ac1374911fb145fea430c21092ada0c06">_numlines</a>;         <span class="comment">// Number of lines of the LCD, initialized with begin()</span>
-<a name="l00493"></a><a class="code" href="class_l_c_d.html#a88b16ea0e5c7d1cabc5007d48bcbd2b0">00493</a>    uint8_t <a class="code" href="class_l_c_d.html#a88b16ea0e5c7d1cabc5007d48bcbd2b0">_cols</a>;             <span class="comment">// Number of columns in the LCD</span>
-<a name="l00494"></a><a class="code" href="class_l_c_d.html#a990338759d2abe10b0fb1743b7789566">00494</a>    <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bc">t_backlighPol</a> <a class="code" href="class_l_c_d.html#a990338759d2abe10b0fb1743b7789566">_polarity</a>;   <span class="comment">// Backlight polarity</span>
-<a name="l00495"></a>00495    
-<a name="l00496"></a>00496 <span class="keyword">private</span>:
-<a name="l00508"></a>00508    <span class="keywordtype">void</span> command(uint8_t value);
-<a name="l00509"></a>00509 
-<a name="l00523"></a>00523 <span class="preprocessor">#if (ARDUINO &lt;  100)</span>
-<a name="l00524"></a>00524 <span class="preprocessor"></span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> send(uint8_t value, uint8_t mode) { };
-<a name="l00525"></a>00525 <span class="preprocessor">#else</span>
-<a name="l00526"></a>00526 <span class="preprocessor"></span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> send(uint8_t value, uint8_t mode) = 0;
-<a name="l00527"></a>00527 <span class="preprocessor">#endif</span>
-<a name="l00528"></a>00528 <span class="preprocessor"></span>   
-<a name="l00529"></a>00529 };
-<a name="l00530"></a>00530 
-<a name="l00531"></a>00531 <span class="preprocessor">#endif</span>
+<a name="l00058"></a>00058 <span class="preprocessor">#ifdef __AVR__</span>
+<a name="l00059"></a>00059 <span class="preprocessor"></span><span class="preprocessor">#define FAST_MODE</span>
+<a name="l00060"></a>00060 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00061"></a>00061 <span class="preprocessor"></span>
+<a name="l00071"></a><a class="code" href="_l_c_d_8h.html#a6eac41e4be58d7736ac0c19de225c0dc">00071</a> <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="_l_c_d_8h.html#a6eac41e4be58d7736ac0c19de225c0dc">waitUsec</a> ( uint16_t uSec )
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073 <span class="preprocessor">#ifndef FAST_MODE</span>
+<a name="l00074"></a>00074 <span class="preprocessor"></span>   delayMicroseconds ( uSec );
+<a name="l00075"></a>00075 <span class="preprocessor">#endif // FAST_MODE</span>
+<a name="l00076"></a>00076 <span class="preprocessor"></span>}
+<a name="l00077"></a>00077 
+<a name="l00078"></a>00078 
+<a name="l00086"></a>00086 <span class="comment">// LCD Commands</span>
+<a name="l00087"></a>00087 <span class="comment">// ---------------------------------------------------------------------------</span>
+<a name="l00088"></a><a class="code" href="_l_c_d_8h.html#acc3509bc0442b41e2b816555de473ed2">00088</a> <span class="preprocessor">#define LCD_CLEARDISPLAY        0x01</span>
+<a name="l00089"></a><a class="code" href="_l_c_d_8h.html#a154c86a887633d0f6d9988e4dbb1f419">00089</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_RETURNHOME          0x02</span>
+<a name="l00090"></a><a class="code" href="_l_c_d_8h.html#a5597e1d5819ea2f0734ad4313abf6703">00090</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_ENTRYMODESET        0x04</span>
+<a name="l00091"></a><a class="code" href="_l_c_d_8h.html#adfb8b2b8b8a08d7313504d7a4f89d99f">00091</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_DISPLAYCONTROL      0x08</span>
+<a name="l00092"></a><a class="code" href="_l_c_d_8h.html#a61f16a2b7550e4700f7898a7587c5594">00092</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_CURSORSHIFT         0x10</span>
+<a name="l00093"></a><a class="code" href="_l_c_d_8h.html#aaef882ae70d1f485cd132815d9716111">00093</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_FUNCTIONSET         0x20</span>
+<a name="l00094"></a><a class="code" href="_l_c_d_8h.html#aae6ea856879c11dee58493184582a52f">00094</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_SETCGRAMADDR        0x40</span>
+<a name="l00095"></a><a class="code" href="_l_c_d_8h.html#a15008b832807a208d9d88c74e6751ebf">00095</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_SETDDRAMADDR        0x80</span>
+<a name="l00096"></a>00096 <span class="preprocessor"></span>
+<a name="l00097"></a>00097 <span class="comment">// flags for display entry mode</span>
+<a name="l00098"></a>00098 <span class="comment">// ---------------------------------------------------------------------------</span>
+<a name="l00099"></a><a class="code" href="_l_c_d_8h.html#a43c26ba2e66880fac95ef640b56873ad">00099</a> <span class="preprocessor">#define LCD_ENTRYRIGHT          0x00</span>
+<a name="l00100"></a><a class="code" href="_l_c_d_8h.html#ae7c6309fce6200bd7526d090a4a84dd0">00100</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_ENTRYLEFT           0x02</span>
+<a name="l00101"></a><a class="code" href="_l_c_d_8h.html#aa2cf1d0f4a319e53c009cffe1184466c">00101</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_ENTRYSHIFTINCREMENT 0x01</span>
+<a name="l00102"></a><a class="code" href="_l_c_d_8h.html#a049ee97e98d04788c1da9a55590fbe42">00102</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_ENTRYSHIFTDECREMENT 0x00</span>
+<a name="l00103"></a>00103 <span class="preprocessor"></span>
+<a name="l00104"></a>00104 <span class="comment">// flags for display on/off and cursor control</span>
+<a name="l00105"></a>00105 <span class="comment">// ---------------------------------------------------------------------------</span>
+<a name="l00106"></a><a class="code" href="_l_c_d_8h.html#a76236ae8317b34bbc98ea56bc0a2639c">00106</a> <span class="preprocessor">#define LCD_DISPLAYON           0x04</span>
+<a name="l00107"></a><a class="code" href="_l_c_d_8h.html#a257ebe775cac7140cf82aa40d8ce545a">00107</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_DISPLAYOFF          0x00</span>
+<a name="l00108"></a><a class="code" href="_l_c_d_8h.html#ab67f0adccde68de88eee0513fdfc4574">00108</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_CURSORON            0x02</span>
+<a name="l00109"></a><a class="code" href="_l_c_d_8h.html#a32b194a3adaa0a0bb69acee2e6a754fa">00109</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_CURSOROFF           0x00</span>
+<a name="l00110"></a><a class="code" href="_l_c_d_8h.html#ac3b19d4e6553b9bbf18a23387e439206">00110</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_BLINKON             0x01</span>
+<a name="l00111"></a><a class="code" href="_l_c_d_8h.html#a4b28243034cec656b0ed490ba6979752">00111</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_BLINKOFF            0x00</span>
+<a name="l00112"></a>00112 <span class="preprocessor"></span>
+<a name="l00113"></a>00113 <span class="comment">// flags for display/cursor shift</span>
+<a name="l00114"></a>00114 <span class="comment">// ---------------------------------------------------------------------------</span>
+<a name="l00115"></a><a class="code" href="_l_c_d_8h.html#ab2f7b67abfac33f610acfd5d7a971f40">00115</a> <span class="preprocessor">#define LCD_DISPLAYMOVE         0x08</span>
+<a name="l00116"></a><a class="code" href="_l_c_d_8h.html#ac21f0302ac4136775877d5f4759e4f74">00116</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_CURSORMOVE          0x00</span>
+<a name="l00117"></a><a class="code" href="_l_c_d_8h.html#acf5999180233790bb2c9902efde58f7f">00117</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_MOVERIGHT           0x04</span>
+<a name="l00118"></a><a class="code" href="_l_c_d_8h.html#aafb86adb0dfca1e65d65b2cd1946a009">00118</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_MOVELEFT            0x00</span>
+<a name="l00119"></a>00119 <span class="preprocessor"></span>
+<a name="l00120"></a>00120 <span class="comment">// flags for function set</span>
+<a name="l00121"></a>00121 <span class="comment">// ---------------------------------------------------------------------------</span>
+<a name="l00122"></a><a class="code" href="_l_c_d_8h.html#a59a57ca857dae5d89eb5f2a38c4ac6f0">00122</a> <span class="preprocessor">#define LCD_8BITMODE            0x10</span>
+<a name="l00123"></a><a class="code" href="_l_c_d_8h.html#ab8c35d355d2372090c7a347e961c9224">00123</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_4BITMODE            0x00</span>
+<a name="l00124"></a><a class="code" href="_l_c_d_8h.html#a7987e93538df2819583ba43b81ddbb25">00124</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_2LINE               0x08</span>
+<a name="l00125"></a><a class="code" href="_l_c_d_8h.html#a8c85cf88d8af66a47c42249d81c94641">00125</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_1LINE               0x00</span>
+<a name="l00126"></a><a class="code" href="_l_c_d_8h.html#abb3210156d88d3fe18c9352eb161fe42">00126</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_5x10DOTS            0x04</span>
+<a name="l00127"></a><a class="code" href="_l_c_d_8h.html#a9ef57e724c1b846dae0f531aff6fb464">00127</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_5x8DOTS             0x00</span>
+<a name="l00128"></a>00128 <span class="preprocessor"></span>
+<a name="l00129"></a>00129 
+<a name="l00130"></a>00130 <span class="comment">// Define COMMAND and DATA LCD Rs (used by send method).</span>
+<a name="l00131"></a>00131 <span class="comment">// ---------------------------------------------------------------------------</span>
+<a name="l00132"></a><a class="code" href="_l_c_d_8h.html#ab0d87e07831e7e4943caef187872123e">00132</a> <span class="preprocessor">#define COMMAND                 0</span>
+<a name="l00133"></a><a class="code" href="_l_c_d_8h.html#aad9ae913bdfab20dd94ad04ee2d5b045">00133</a> <span class="preprocessor"></span><span class="preprocessor">#define DATA                    1</span>
+<a name="l00134"></a><a class="code" href="_l_c_d_8h.html#aa1e30e32b6c2cf8d90a9281328472dbe">00134</a> <span class="preprocessor"></span><span class="preprocessor">#define FOUR_BITS               2</span>
+<a name="l00135"></a>00135 <span class="preprocessor"></span>
+<a name="l00136"></a>00136 
+<a name="l00143"></a><a class="code" href="_l_c_d_8h.html#ad25b138788d83e67f840588754e2df2f">00143</a> <span class="preprocessor">#define HOME_CLEAR_EXEC      2000</span>
+<a name="l00144"></a>00144 <span class="preprocessor"></span>
+<a name="l00151"></a><a class="code" href="_l_c_d_8h.html#a0f50ae3b4bdb42dd5ad74b2c604a7515">00151</a> <span class="preprocessor">#define BACKLIGHT_OFF           0</span>
+<a name="l00152"></a>00152 <span class="preprocessor"></span>
+<a name="l00159"></a><a class="code" href="_l_c_d_8h.html#aa5bad1c51f5fac029f3deacfef48c54b">00159</a> <span class="preprocessor">#define BACKLIGHT_ON          255</span>
+<a name="l00160"></a>00160 <span class="preprocessor"></span>
+<a name="l00161"></a>00161 
+<a name="l00167"></a><a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bc">00167</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bca03d440bbbfb042afc85347f994b44fb5">POSITIVE</a>, <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bca62d66a51fa7574c652597716f7709865">NEGATIVE</a> } <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bc">t_backlighPol</a>;
+<a name="l00168"></a>00168 
+<a name="l00169"></a><a class="code" href="class_l_c_d.html">00169</a> <span class="keyword">class </span><a class="code" href="class_l_c_d.html">LCD</a> : <span class="keyword">public</span> Print 
+<a name="l00170"></a>00170 {
+<a name="l00171"></a>00171 <span class="keyword">public</span>:
+<a name="l00172"></a>00172    
+<a name="l00179"></a>00179    <a class="code" href="class_l_c_d.html#a00bb2db1390721abc7b24ac4b8c276c8">LCD</a> ( );
+<a name="l00180"></a>00180    
+<a name="l00196"></a>00196    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a3f587d1cbb2d59765ef60a5216b56fea">begin</a>(uint8_t cols, uint8_t rows, uint8_t charsize = <a class="code" href="_l_c_d_8h.html#a9ef57e724c1b846dae0f531aff6fb464">LCD_5x8DOTS</a>);
+<a name="l00197"></a>00197    
+<a name="l00208"></a>00208    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#afa699e0beeeee03cce8cef87eba81c4a">clear</a>();
+<a name="l00209"></a>00209    
+<a name="l00221"></a>00221    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#aee45ad37f09312f5d9982257e2d37e68">home</a>();
+<a name="l00222"></a>00222    
+<a name="l00231"></a>00231    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#af3974da6d988ba2d21c25135ada12108">noDisplay</a>();
+<a name="l00232"></a>00232    
+<a name="l00242"></a>00242    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a5b07cf05e8e5e7c53654f5ca0cf58b89">display</a>();
+<a name="l00243"></a>00243    
+<a name="l00250"></a>00250    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a3b755c4b397b5985752be8c30ee1a9b5">noBlink</a>();
+<a name="l00251"></a>00251    
+<a name="l00260"></a>00260    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a878b36878fa8287093964eba83aace77">blink</a>();
+<a name="l00261"></a>00261    
+<a name="l00268"></a>00268    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#aec8ffaa1e69c7a6e13ac0cfbc29151d9">noCursor</a>();
+<a name="l00269"></a>00269    
+<a name="l00278"></a>00278    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a194814f64dfa50a90e07e0fe0d361620">cursor</a>();
+<a name="l00279"></a>00279    
+<a name="l00287"></a>00287    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a6f3a503055b3b8dcf0f61b2633c584f7">scrollDisplayLeft</a>();
+<a name="l00288"></a>00288    
+<a name="l00296"></a>00296    <span class="keywordty