Commits

F Malpartida committed 762521a

Aligned documentation for Release 1.2.1

Comments (0)

Files changed (61)

docs/html/_fast_i_o_8cpp.html

  <tr style="height: 56px;">
   <td id="projectlogo"><img alt="Logo" src="logoGoogle.jpg"/></td>
   <td style="padding-left: 0.5em;">
-   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.1</span></div>
    <div id="projectbrief">LCD Library - LCD control class hierarchy library. Drop in replacement for the LiquidCrystal Library.</div>
   </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#l00087">87</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#l00089">89</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#l00071">71</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#l00070">70</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#l00061">61</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#l00060">60</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#l00049">49</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#l00048">48</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#l00033">33</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#l00032">32</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#l00126">126</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#l00129">129</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#l00100">100</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#l00102">102</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#l00214">214</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#l00229">229</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#l00149">149</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#l00156">156</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#l00142">142</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#l00149">149</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#l00137">137</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#l00144">144</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 Tue Feb 28 2012 19:52:02 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Sun Mar 4 2012 21:17:07 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

  <tr style="height: 56px;">
   <td id="projectlogo"><img alt="Logo" src="logoGoogle.jpg"/></td>
   <td style="padding-left: 0.5em;">
-   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.1</span></div>
    <div id="projectbrief">LCD Library - LCD control class hierarchy library. Drop in replacement for the LiquidCrystal Library.</div>
   </td>
  </tr>
 <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 
-<a name="l00031"></a>00031 <span class="preprocessor">#include &quot;<a class="code" href="_fast_i_o_8h.html">FastIO.h</a>&quot;</span>
-<a name="l00032"></a>00032 
-<a name="l00033"></a><a class="code" href="_fast_i_o_8h.html#a385ae40d960c1a57e86818332476a802">00033</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="l00034"></a>00034 {
-<a name="l00035"></a>00035         pinMode(pin, OUTPUT);
-<a name="l00036"></a>00036    
-<a name="l00037"></a>00037         <span class="keywordflow">if</span>(initial_state != <a class="code" href="_fast_i_o_8h.html#a688a4adbb87520a2b68681bd6bfb199e">SKIP</a>) 
-<a name="l00038"></a>00038    {
-<a name="l00039"></a>00039       digitalWrite(pin, initial_state); <span class="comment">// also turns off pwm timer</span>
-<a name="l00040"></a>00040    }
-<a name="l00041"></a>00041 <span class="preprocessor">#ifdef FIO_FALLBACK</span>
-<a name="l00042"></a>00042 <span class="preprocessor"></span>        <span class="comment">//  just wasting memory if not using fast io...</span>
-<a name="l00043"></a>00043         <span class="keywordflow">return</span> 0;
-<a name="l00044"></a>00044 <span class="preprocessor">#else</span>
-<a name="l00045"></a>00045 <span class="preprocessor"></span>        <span class="keywordflow">return</span> portOutputRegister(digitalPinToPort(pin));
-<a name="l00046"></a>00046 <span class="preprocessor">#endif</span>
-<a name="l00047"></a>00047 <span class="preprocessor"></span>}
-<a name="l00048"></a>00048 
-<a name="l00049"></a><a class="code" href="_fast_i_o_8h.html#afb934fc0ded94cbb5ed8ed14e2a123ed">00049</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="l00050"></a>00050 {
-<a name="l00051"></a>00051         pinMode(pin, INPUT);
-<a name="l00052"></a>00052         digitalWrite(pin, LOW); <span class="comment">// also turns off pwm timer and pullup</span>
-<a name="l00053"></a>00053 <span class="preprocessor">#ifdef FIO_FALLBACK</span>
-<a name="l00054"></a>00054 <span class="preprocessor"></span>        <span class="comment">//  just wasting memory if not using fast io...</span>
-<a name="l00055"></a>00055         <span class="keywordflow">return</span> 0;
-<a name="l00056"></a>00056 <span class="preprocessor">#else</span>
-<a name="l00057"></a>00057 <span class="preprocessor"></span>        <span class="keywordflow">return</span> portInputRegister(digitalPinToPort(pin));
-<a name="l00058"></a>00058 <span class="preprocessor">#endif</span>
-<a name="l00059"></a>00059 <span class="preprocessor"></span>}
-<a name="l00060"></a>00060 
-<a name="l00061"></a><a class="code" href="_fast_i_o_8h.html#a07a19dfbdca1afaca5d666bdaa3be7d5">00061</a> uint8_t <a class="code" href="_fast_i_o_8cpp.html#abe64155b836ffa8a137eb17d17995f84">fio_pinToBit</a>(uint8_t pin)
-<a name="l00062"></a>00062 {
-<a name="l00063"></a>00063 <span class="preprocessor">#ifdef FIO_FALLBACK</span>
-<a name="l00064"></a>00064 <span class="preprocessor"></span>        <span class="comment">// (ab)use the bit variable to store the pin</span>
-<a name="l00065"></a>00065         <span class="keywordflow">return</span> pin;
-<a name="l00066"></a>00066 <span class="preprocessor">#else</span>
-<a name="l00067"></a>00067 <span class="preprocessor"></span>        <span class="keywordflow">return</span> digitalPinToBitMask(pin);
-<a name="l00068"></a>00068 <span class="preprocessor">#endif</span>
-<a name="l00069"></a>00069 <span class="preprocessor"></span>}
-<a name="l00070"></a>00070 
-<a name="l00071"></a><a class="code" href="_fast_i_o_8h.html#ae91bbe682b02a5842c291055c0e998b5">00071</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="l00072"></a>00072 {
-<a name="l00073"></a>00073 <span class="preprocessor">#ifdef FIO_FALLBACK</span>
-<a name="l00074"></a>00074 <span class="preprocessor"></span>        digitalWrite(pinBit, value);
-<a name="l00075"></a>00075 <span class="preprocessor">#else</span>
-<a name="l00076"></a>00076 <span class="preprocessor"></span>        <span class="keywordflow">if</span>(value == LOW)
-<a name="l00077"></a>00077    {
-<a name="l00078"></a>00078                 <a class="code" href="_fast_i_o_8h.html#ac8f00a1bccb98109531b88fbb6e91478">fio_digitalWrite_LOW</a>(pinRegister,pinBit);
-<a name="l00079"></a>00079         }
-<a name="l00080"></a>00080    <span class="keywordflow">else</span>
-<a name="l00081"></a>00081    {
-<a name="l00082"></a>00082                 <a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">fio_digitalWrite_HIGH</a>(pinRegister,pinBit);
-<a name="l00083"></a>00083         }
-<a name="l00084"></a>00084 <span class="preprocessor">#endif</span>
-<a name="l00085"></a>00085 <span class="preprocessor"></span>}
-<a name="l00086"></a>00086 
-<a name="l00087"></a><a class="code" href="_fast_i_o_8h.html#a197336e47e1c3f929056ce3abbbc7e8d">00087</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="l00088"></a>00088 {
-<a name="l00089"></a>00089 <span class="preprocessor">#ifdef FIO_FALLBACK</span>
-<a name="l00090"></a>00090 <span class="preprocessor"></span>        <span class="keywordflow">return</span> digitalRead (pinBit);
-<a name="l00091"></a>00091 <span class="preprocessor">#else</span>
-<a name="l00092"></a>00092 <span class="preprocessor"></span>        <span class="keywordflow">if</span> (*pinRegister &amp; pinBit)
-<a name="l00093"></a>00093    {
-<a name="l00094"></a>00094       <span class="keywordflow">return</span> HIGH;
-<a name="l00095"></a>00095    }
-<a name="l00096"></a>00096         <span class="keywordflow">return</span> LOW;
-<a name="l00097"></a>00097 <span class="preprocessor">#endif</span>
-<a name="l00098"></a>00098 <span class="preprocessor"></span>}
-<a name="l00099"></a>00099 
-<a name="l00100"></a><a class="code" href="_fast_i_o_8h.html#a56c72b9f00680662229895ab22aaa743">00100</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 class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> clockRegister, 
-<a name="l00101"></a>00101                     <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> clockBit, uint8_t value, uint8_t bitOrder)
-<a name="l00102"></a>00102 {
-<a name="l00103"></a>00103         <span class="comment">// # disable interrupts</span>
-<a name="l00104"></a>00104         <span class="comment">// uint8_t oldSREG = SREG;</span>
-<a name="l00105"></a>00105         <span class="comment">// cli();</span>
-<a name="l00106"></a>00106         int8_t i;
-<a name="l00107"></a>00107 
-<a name="l00108"></a>00108         <span class="keywordflow">for</span>(i = 0; i &lt; 8; i++)
-<a name="l00109"></a>00109    {
-<a name="l00110"></a>00110                 <span class="keywordflow">if</span> (bitOrder == LSBFIRST)
-<a name="l00111"></a>00111       {
-<a name="l00112"></a>00112                         <a class="code" href="_fast_i_o_8cpp.html#a19962d1b3fc351693779f633a36105a8">fio_digitalWrite</a>(dataRegister, dataBit, !!(value &amp; (1 &lt;&lt; i)));
-<a name="l00113"></a>00113                 }
-<a name="l00114"></a>00114       <span class="keywordflow">else</span>
-<a name="l00115"></a>00115       {
-<a name="l00116"></a>00116                         <a class="code" href="_fast_i_o_8cpp.html#a19962d1b3fc351693779f633a36105a8">fio_digitalWrite</a>(dataRegister, dataBit, !!(value &amp; (1 &lt;&lt; (7 - i))));
-<a name="l00117"></a>00117                 }
-<a name="l00118"></a>00118                 <a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">fio_digitalWrite_HIGH</a> (clockRegister, clockBit);
-<a name="l00119"></a>00119                 <span class="comment">// Switching is a little bit faster</span>
-<a name="l00120"></a>00120                 <a class="code" href="_fast_i_o_8h.html#a6d1dffed7f0c8f28f6c88146315f7832">fio_digitalWrite_SWITCH</a> (clockRegister,clockBit);
-<a name="l00121"></a>00121         }
-<a name="l00122"></a>00122         <span class="comment">// # enable interrupts</span>
-<a name="l00123"></a>00123         <span class="comment">// SREG = oldSREG;</span>
-<a name="l00124"></a>00124 }
-<a name="l00125"></a>00125 
-<a name="l00126"></a><a class="code" href="_fast_i_o_8h.html#a5d8d5977294d614d15bda19f75d6b787">00126</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 class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> clockRegister, uint8_t clockBit)
-<a name="l00127"></a>00127 {
-<a name="l00128"></a>00128         <span class="comment">// shift out 0x0 (B00000000) fast, byte order is irrelevant</span>
-<a name="l00129"></a>00129         <a class="code" href="_fast_i_o_8h.html#ac8f00a1bccb98109531b88fbb6e91478">fio_digitalWrite_LOW</a> (dataRegister, dataBit);
-<a name="l00130"></a>00130 
-<a name="l00131"></a>00131         <span class="keywordflow">for</span>(uint8_t i = 0; i&lt;8; ++i)
-<a name="l00132"></a>00132    {
-<a name="l00133"></a>00133                 <a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">fio_digitalWrite_HIGH</a> (clockRegister, clockBit);
-<a name="l00134"></a>00134                 <a class="code" href="_fast_i_o_8h.html#a6d1dffed7f0c8f28f6c88146315f7832">fio_digitalWrite_SWITCH</a> (clockRegister, clockBit);
-<a name="l00135"></a>00135         }
-<a name="l00136"></a>00136 }
-<a name="l00137"></a><a class="code" href="_fast_i_o_8h.html#ae4b2e099f8ade9ee674d1565669e870a">00137</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="l00138"></a>00138 {
-<a name="l00139"></a>00139         <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="l00140"></a>00140 }
-<a name="l00141"></a>00141 
-<a name="l00142"></a><a class="code" href="_fast_i_o_8h.html#a2d0e4495eb12504255bbd3f82405b17b">00142</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="l00143"></a>00143 {
-<a name="l00144"></a>00144         <span class="comment">// Make sure that capacitors are charged</span>
-<a name="l00145"></a>00145         <span class="comment">// 300us is an educated guess...</span>
-<a name="l00146"></a>00146         <a class="code" href="_fast_i_o_8cpp.html#a19962d1b3fc351693779f633a36105a8">fio_digitalWrite</a>(shift1Register,shift1Bit,HIGH);
-<a name="l00147"></a>00147         delayMicroseconds(300);
-<a name="l00148"></a>00148 }
-<a name="l00149"></a><a class="code" href="_fast_i_o_8h.html#a33ce251dcd6b448185cda415a99001cf">00149</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, <span class="keywordtype">boolean</span> noLatch)
+<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#ad2374bbbb11bdb9abeeec0db769afd30">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 class="code" href="_fast_i_o_8h.html#ad2374bbbb11bdb9abeeec0db769afd30">ATOMIC_BLOCK</a>(<a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a>)
+<a name="l00110"></a>00110    {
+<a name="l00111"></a>00111       <span class="keywordflow">for</span>(i = 0; i &lt; 8; i++)
+<a name="l00112"></a>00112       {
+<a name="l00113"></a>00113          <span class="keywordflow">if</span> (bitOrder == LSBFIRST)
+<a name="l00114"></a>00114          {
+<a name="l00115"></a>00115             <a class="code" href="_fast_i_o_8cpp.html#a19962d1b3fc351693779f633a36105a8">fio_digitalWrite</a>(dataRegister, dataBit, !!(value &amp; (1 &lt;&lt; i)));
+<a name="l00116"></a>00116          }
+<a name="l00117"></a>00117          <span class="keywordflow">else</span>
+<a name="l00118"></a>00118          {
+<a name="l00119"></a>00119             <a class="code" href="_fast_i_o_8cpp.html#a19962d1b3fc351693779f633a36105a8">fio_digitalWrite</a>(dataRegister, dataBit, !!(value &amp; (1 &lt;&lt; (7 - i))));
+<a name="l00120"></a>00120          }
+<a name="l00121"></a>00121          <a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">fio_digitalWrite_HIGH</a> (clockRegister, clockBit);
+<a name="l00122"></a>00122          
+<a name="l00123"></a>00123          <span class="comment">// Switching is a little bit faster</span>
+<a name="l00124"></a>00124          <a class="code" href="_fast_i_o_8h.html#a6d1dffed7f0c8f28f6c88146315f7832">fio_digitalWrite_SWITCH</a> (clockRegister,clockBit);
+<a name="l00125"></a>00125       }
+<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><a class="code" href="_fast_i_o_8h.html#a5d8d5977294d614d15bda19f75d6b787">00129</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="l00130"></a>00130                   <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a> clockRegister, uint8_t clockBit)
+<a name="l00131"></a>00131 {
+<a name="l00132"></a>00132    <a class="code" href="_fast_i_o_8h.html#ad2374bbbb11bdb9abeeec0db769afd30">ATOMIC_BLOCK</a>(<a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a>)
+<a name="l00133"></a>00133    {
+<a name="l00134"></a>00134       <span class="comment">// shift out 0x0 (B00000000) fast, byte order is irrelevant</span>
+<a name="l00135"></a>00135       <a class="code" href="_fast_i_o_8h.html#ac8f00a1bccb98109531b88fbb6e91478">fio_digitalWrite_LOW</a> (dataRegister, dataBit);
+<a name="l00136"></a>00136 
+<a name="l00137"></a>00137       <span class="keywordflow">for</span>(uint8_t i = 0; i&lt;8; ++i)
+<a name="l00138"></a>00138       {
+<a name="l00139"></a>00139          <a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">fio_digitalWrite_HIGH</a> (clockRegister, clockBit);
+<a name="l00140"></a>00140          <a class="code" href="_fast_i_o_8h.html#a6d1dffed7f0c8f28f6c88146315f7832">fio_digitalWrite_SWITCH</a> (clockRegister, clockBit);
+<a name="l00141"></a>00141       }
+<a name="l00142"></a>00142    }
+<a name="l00143"></a>00143 }
+<a name="l00144"></a><a class="code" href="_fast_i_o_8h.html#ae4b2e099f8ade9ee674d1565669e870a">00144</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="l00145"></a>00145 {
+<a name="l00146"></a>00146         <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="l00147"></a>00147 }
+<a name="l00148"></a>00148 
+<a name="l00149"></a><a class="code" href="_fast_i_o_8h.html#a2d0e4495eb12504255bbd3f82405b17b">00149</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="l00150"></a>00150 {
-<a name="l00151"></a>00151         <span class="comment">/*</span>
-<a name="l00152"></a>00152 <span class="comment">         * this function are based on Shif1 protocol developed by Roman Black (http://www.romanblack.com/shift1.htm)</span>
-<a name="l00153"></a>00153 <span class="comment">         *</span>
-<a name="l00154"></a>00154 <span class="comment">         * test sketches:</span>
-<a name="l00155"></a>00155 <span class="comment">         *      http://pastebin.com/raw.php?i=2hnC9v2Z</span>
-<a name="l00156"></a>00156 <span class="comment">         *      http://pastebin.com/raw.php?i=bGg4DhXQ</span>
-<a name="l00157"></a>00157 <span class="comment">         *      http://pastebin.com/raw.php?i=tg1ZFiM5</span>
-<a name="l00158"></a>00158 <span class="comment">         *    http://pastebin.com/raw.php?i=93ExPDD3 - cascading</span>
-<a name="l00159"></a>00159 <span class="comment">         * tested with:</span>
-<a name="l00160"></a>00160 <span class="comment">         *      TPIC6595N - seems to work fine (circuit: http://www.3guys1laser.com/</span>
-<a name="l00161"></a>00161 <span class="comment">    *                   arduino-one-wire-shift-register-prototype)</span>
-<a name="l00162"></a>00162 <span class="comment">         *      7HC595N</span>
-<a name="l00163"></a>00163 <span class="comment">         */</span>
-<a name="l00164"></a>00164         <span class="comment">// disable interrupts since timing is going to be critical</span>
-<a name="l00165"></a>00165         uint8_t oldSREG;
-<a name="l00166"></a>00166         oldSREG = SREG;
-<a name="l00167"></a>00167         cli();
-<a name="l00168"></a>00168 
-<a name="l00169"></a>00169         <span class="comment">// iterate but ignore last bit (is it correct now?)</span>
-<a name="l00170"></a>00170         <span class="keywordflow">for</span>(int8_t i = 7; i&gt;=0; --i)
-<a name="l00171"></a>00171    {
-<a name="l00172"></a>00172 
-<a name="l00173"></a>00173                 <span class="comment">// assume that pin is HIGH (smokin&#39; pot all day... :) - requires initialization</span>
-<a name="l00174"></a>00174                 <span class="keywordflow">if</span>(LOW==!!(value &amp; (1 &lt;&lt; i)))
-<a name="l00175"></a>00175       {
-<a name="l00176"></a>00176                         <span class="comment">// LOW = 0 Bit</span>
-<a name="l00177"></a>00177                         <a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">fio_digitalWrite_SWITCHTO</a>(shift1Register,shift1Bit,LOW);
-<a name="l00178"></a>00178                         <span class="comment">// hold pin LOW for 15us</span>
-<a name="l00179"></a>00179                         delayMicroseconds(15);
-<a name="l00180"></a>00180                         <a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">fio_digitalWrite_SWITCHTO</a>(shift1Register,shift1Bit,HIGH);
-<a name="l00181"></a>00181                         <span class="comment">// hold pin HIGH for 30us</span>
-<a name="l00182"></a>00182                         delayMicroseconds(30);
-<a name="l00183"></a>00183                 }
-<a name="l00184"></a>00184       <span class="keywordflow">else</span>
-<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">//hold pin HIGH for 15us</span>
-<a name="l00191"></a>00191                         delayMicroseconds(15);
-<a name="l00192"></a>00192                 }
-<a name="l00193"></a>00193                 <span class="keywordflow">if</span>(!noLatch &amp;&amp; i==1)
-<a name="l00194"></a>00194       {
-<a name="l00195"></a>00195          <span class="keywordflow">break</span>;
-<a name="l00196"></a>00196       }
-<a name="l00197"></a>00197         }
-<a name="l00198"></a>00198    
-<a name="l00199"></a>00199         <span class="keywordflow">if</span>(!noLatch)
-<a name="l00200"></a>00200    {
-<a name="l00201"></a>00201                 <span class="comment">// send last bit (=LOW) and Latch command</span>
-<a name="l00202"></a>00202                 <a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">fio_digitalWrite_SWITCHTO</a>(shift1Register,shift1Bit,LOW);
-<a name="l00203"></a>00203                 <span class="comment">// Hold pin low for 200us</span>
-<a name="l00204"></a>00204                 delayMicroseconds(199);
-<a name="l00205"></a>00205                 <a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">fio_digitalWrite_HIGH</a>(shift1Register,shift1Bit);
-<a name="l00206"></a>00206                 <span class="comment">// Hold pin high for 300us and leave it that way - using explicit HIGH here, just in case.</span>
-<a name="l00207"></a>00207                 delayMicroseconds(299);
-<a name="l00208"></a>00208         }
-<a name="l00209"></a>00209 
-<a name="l00210"></a>00210         <span class="comment">// enable interrupts</span>
-<a name="l00211"></a>00211         SREG = oldSREG;
-<a name="l00212"></a>00212 
-<a name="l00213"></a>00213 }
-<a name="l00214"></a><a class="code" href="_fast_i_o_8h.html#af2aac35d9a8ab7a2c87672f2c7cbbafb">00214</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="l00215"></a>00215 {
-<a name="l00216"></a>00216         <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="l00217"></a>00217 }
+<a name="l00151"></a>00151         <span class="comment">// Make sure that capacitors are charged</span>
+<a name="l00152"></a>00152         <span class="comment">// 300us is an educated guess...</span>
+<a name="l00153"></a>00153         <a class="code" href="_fast_i_o_8cpp.html#a19962d1b3fc351693779f633a36105a8">fio_digitalWrite</a>(shift1Register,shift1Bit,HIGH);
+<a name="l00154"></a>00154         delayMicroseconds(300);
+<a name="l00155"></a>00155 }
+<a name="l00156"></a><a class="code" href="_fast_i_o_8h.html#a33ce251dcd6b448185cda415a99001cf">00156</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="l00157"></a>00157                    <span class="keywordtype">boolean</span> noLatch)
+<a name="l00158"></a>00158 {
+<a name="l00159"></a>00159         <span class="comment">/*</span>
+<a name="l00160"></a>00160 <span class="comment">         * this function are based on Shif1 protocol developed by Roman Black </span>
+<a name="l00161"></a>00161 <span class="comment">    *    (http://www.romanblack.com/shift1.htm)</span>
+<a name="l00162"></a>00162 <span class="comment">         *</span>
+<a name="l00163"></a>00163 <span class="comment">         * test sketches:</span>
+<a name="l00164"></a>00164 <span class="comment">         *      http://pastebin.com/raw.php?i=2hnC9v2Z</span>
+<a name="l00165"></a>00165 <span class="comment">         *      http://pastebin.com/raw.php?i=bGg4DhXQ</span>
+<a name="l00166"></a>00166 <span class="comment">         *      http://pastebin.com/raw.php?i=tg1ZFiM5</span>
+<a name="l00167"></a>00167 <span class="comment">         *    http://pastebin.com/raw.php?i=93ExPDD3 - cascading</span>
+<a name="l00168"></a>00168 <span class="comment">         * tested with:</span>
+<a name="l00169"></a>00169 <span class="comment">         *      TPIC6595N - seems to work fine (circuit: http://www.3guys1laser.com/</span>
+<a name="l00170"></a>00170 <span class="comment">    *                   arduino-one-wire-shift-register-prototype)</span>
+<a name="l00171"></a>00171 <span class="comment">         *      7HC595N</span>
+<a name="l00172"></a>00172 <span class="comment">         */</span>
+<a name="l00173"></a>00173 
+<a name="l00174"></a>00174         <span class="comment">// iterate but ignore last bit (is it correct now?)</span>
+<a name="l00175"></a>00175         <span class="keywordflow">for</span>(int8_t i = 7; i&gt;=0; --i)
+<a name="l00176"></a>00176    {
+<a name="l00177"></a>00177 
+<a name="l00178"></a>00178                 <span class="comment">// assume that pin is HIGH (smokin&#39; pot all day... :) - requires </span>
+<a name="l00179"></a>00179       <span class="comment">// initialization</span>
+<a name="l00180"></a>00180                 <span class="keywordflow">if</span>(value &amp; _BV(i))
+<a name="l00181"></a>00181       {
+<a name="l00182"></a>00182          <a class="code" href="_fast_i_o_8h.html#ad2374bbbb11bdb9abeeec0db769afd30">ATOMIC_BLOCK</a>(<a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a>)
+<a name="l00183"></a>00183          {
+<a name="l00184"></a>00184             <span class="comment">// HIGH = 1 Bit</span>
+<a name="l00185"></a>00185             <a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">fio_digitalWrite_SWITCHTO</a>(shift1Register,shift1Bit,LOW);
+<a name="l00186"></a>00186             <span class="comment">//hold pin LOW for 1us - done! :)</span>
+<a name="l00187"></a>00187             <a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">fio_digitalWrite_SWITCHTO</a>(shift1Register,shift1Bit,HIGH);
+<a name="l00188"></a>00188             <span class="comment">//hold pin HIGH for 15us</span>
+<a name="l00189"></a>00189          } <span class="comment">// end critical section</span>
+<a name="l00190"></a>00190          delayMicroseconds(15);
+<a name="l00191"></a>00191                 }
+<a name="l00192"></a>00192       <span class="keywordflow">else</span>
+<a name="l00193"></a>00193       {
+<a name="l00194"></a>00194          <a class="code" href="_fast_i_o_8h.html#ad2374bbbb11bdb9abeeec0db769afd30">ATOMIC_BLOCK</a>(<a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a>)
+<a name="l00195"></a>00195          {
+<a name="l00196"></a>00196             <span class="comment">// LOW = 0 Bit</span>
+<a name="l00197"></a>00197             <a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">fio_digitalWrite_SWITCHTO</a>(shift1Register,shift1Bit,LOW);
+<a name="l00198"></a>00198             <span class="comment">// hold pin LOW for 15us</span>
+<a name="l00199"></a>00199             delayMicroseconds(15);
+<a name="l00200"></a>00200             <a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">fio_digitalWrite_SWITCHTO</a>(shift1Register,shift1Bit,HIGH);
+<a name="l00201"></a>00201          } <span class="comment">// end critical section</span>
+<a name="l00202"></a>00202          <span class="comment">// hold pin HIGH for 30us</span>
+<a name="l00203"></a>00203          delayMicroseconds(30);         
+<a name="l00204"></a>00204                 }
+<a name="l00205"></a>00205                 <span class="keywordflow">if</span>(!noLatch &amp;&amp; i==1)
+<a name="l00206"></a>00206       {
+<a name="l00207"></a>00207          <span class="keywordflow">break</span>;
+<a name="l00208"></a>00208       }
+<a name="l00209"></a>00209         }
+<a name="l00210"></a>00210    
+<a name="l00211"></a>00211         <span class="keywordflow">if</span>(!noLatch)
+<a name="l00212"></a>00212    {
+<a name="l00213"></a>00213       <a class="code" href="_fast_i_o_8h.html#ad2374bbbb11bdb9abeeec0db769afd30">ATOMIC_BLOCK</a>(<a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a>)
+<a name="l00214"></a>00214       {
+<a name="l00215"></a>00215          <span class="comment">// send last bit (=LOW) and Latch command</span>
+<a name="l00216"></a>00216          <a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">fio_digitalWrite_SWITCHTO</a>(shift1Register,shift1Bit,LOW);
+<a name="l00217"></a>00217       } <span class="comment">// end critical section</span>
+<a name="l00218"></a>00218       delayMicroseconds(199);           <span class="comment">// Hold pin low for 200us</span>
+<a name="l00219"></a>00219 
+<a name="l00220"></a>00220       <a class="code" href="_fast_i_o_8h.html#ad2374bbbb11bdb9abeeec0db769afd30">ATOMIC_BLOCK</a>(<a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a>)
+<a name="l00221"></a>00221       {
+<a name="l00222"></a>00222          <a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">fio_digitalWrite_HIGH</a>(shift1Register,shift1Bit);
+<a name="l00223"></a>00223       } <span class="comment">// end critical section</span>
+<a name="l00224"></a>00224                 delayMicroseconds(299);   <span class="comment">// Hold pin high for 300us and leave it that </span>
+<a name="l00225"></a>00225                                 <span class="comment">// way - using explicit HIGH here, just in case.</span>
+<a name="l00226"></a>00226         }
+<a name="l00227"></a>00227 }
+<a name="l00228"></a>00228 
+<a name="l00229"></a><a class="code" href="_fast_i_o_8h.html#af2aac35d9a8ab7a2c87672f2c7cbbafb">00229</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="l00230"></a>00230 {
+<a name="l00231"></a>00231         <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="l00232"></a>00232 }
 </pre></div></div>
 </div>
 <!-- window showing the filter options -->
 </iframe>
 </div>
 
-<hr class="footer"/><address class="footer"><small>Generated on Tue Feb 28 2012 19:52:02 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Sun Mar 4 2012 21:17:06 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

  <tr style="height: 56px;">
   <td id="projectlogo"><img alt="Logo" src="logoGoogle.jpg"/></td>
   <td style="padding-left: 0.5em;">
-   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.1</span></div>
    <div id="projectbrief">LCD Library - LCD control class hierarchy library. Drop in replacement for the LiquidCrystal Library.</div>
   </td>
  </tr>
 <table class="memberdecls">
 <tr><td colspan="2"><h2><a name="define-members"></a>
 Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fast_i_o_8h.html#ad2374bbbb11bdb9abeeec0db769afd30">ATOMIC_BLOCK</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">fio_digitalWrite_HIGH</a>(reg, bit)&#160;&#160;&#160;digitalWrite(bit,HIGH)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fast_i_o_8h.html#ac8f00a1bccb98109531b88fbb6e91478">fio_digitalWrite_LOW</a>(reg, bit)&#160;&#160;&#160;digitalWrite(bit,LOW)</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fast_i_o_8h.html#a6d1dffed7f0c8f28f6c88146315f7832">fio_digitalWrite_SWITCH</a>(reg, bit)&#160;&#160;&#160;digitalWrite(bit, !digitalRead(bit))</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_8h.html#ae4b2e099f8ade9ee674d1565669e870a">fio_shiftOut1_init</a> (uint8_t pin)</td></tr>
 </table>
 <hr/><h2>Define Documentation</h2>
+<a class="anchor" id="ad2374bbbb11bdb9abeeec0db769afd30"></a><!-- doxytag: member="FastIO.h::ATOMIC_BLOCK" ref="ad2374bbbb11bdb9abeeec0db769afd30" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define ATOMIC_BLOCK</td>
+        </tr>
+      </table>
+</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>
+
+</div>
+</div>
+<a class="anchor" id="a362c18b15a09703e42e1c246c47420ef"></a><!-- doxytag: member="FastIO.h::ATOMIC_RESTORESTATE" ref="a362c18b15a09703e42e1c246c47420ef" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define ATOMIC_RESTORESTATE</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="_fast_i_o_8h_source.html#l00056">56</a> of file <a class="el" href="_fast_i_o_8h_source.html">FastIO.h</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="a89e1c62276052100c62b6c82a2e95622"></a><!-- doxytag: member="FastIO.h::fio_digitalWrite_HIGH" ref="a89e1c62276052100c62b6c82a2e95622" args="(reg, bit)" -->
 <div class="memitem">
 <div class="memproto">
 <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#l00126">126</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#l00138">138</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#l00127">127</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#l00139">139</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#l00128">128</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#l00140">140</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#l00129">129</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#l00141">141</a> of file <a class="el" href="_fast_i_o_8h_source.html">FastIO.h</a>.</p>
 
 </div>
 </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#l00049">49</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#l00054">54</a> of file <a class="el" href="_fast_i_o_8h_source.html">FastIO.h</a>.</p>
 
 </div>
 </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#l00059">59</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#l00066">66</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#l00063">63</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#l00070">70</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#l00070">70</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#l00082">82</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#l00087">87</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#l00089">89</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#l00071">71</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#l00070">70</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#l00061">61</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#l00060">60</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#l00049">49</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#l00048">48</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#l00033">33</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#l00032">32</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#l00126">126</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#l00129">129</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#l00100">100</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#l00102">102</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#l00149">149</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#l00156">156</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#l00214">214</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#l00229">229</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#l00142">142</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#l00149">149</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#l00137">137</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#l00144">144</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 Tue Feb 28 2012 19:52:02 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Sun Mar 4 2012 21:17:07 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

  <tr style="height: 56px;">
   <td id="projectlogo"><img alt="Logo" src="logoGoogle.jpg"/></td>
   <td style="padding-left: 0.5em;">
-   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.1</span></div>
    <div id="projectbrief">LCD Library - LCD control class hierarchy library. Drop in replacement for the LiquidCrystal Library.</div>
   </td>
  </tr>
 <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="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="l00040"></a>00040 <span class="preprocessor">#include &lt;inttypes.h&gt;</span>
 <a name="l00041"></a>00041 <span class="preprocessor">#include &lt;util/delay.h&gt;</span>
 <a name="l00042"></a>00042 
-<a name="l00048"></a>00048 <span class="preprocessor">#ifndef __AVR__</span>
-<a name="l00049"></a><a class="code" href="_fast_i_o_8h.html#a32f90d0ad5c1295c97cc1e79936aadd6">00049</a> <span class="preprocessor"></span><span class="preprocessor">#define FIO_FALLBACK</span>
-<a name="l00050"></a>00050 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00051"></a>00051 <span class="preprocessor"></span>
-<a name="l00052"></a>00052 <span class="comment">// PUBLIC CONSTANTS DEFINITIONS</span>
-<a name="l00053"></a>00053 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00059"></a><a class="code" href="_fast_i_o_8h.html#a688a4adbb87520a2b68681bd6bfb199e">00059</a> <span class="comment"></span><span class="preprocessor">#define SKIP 0x23</span>
-<a name="l00060"></a>00060 <span class="preprocessor"></span>
-<a name="l00061"></a>00061 <span class="comment">// PUBLIC TYPE DEFINITIONS</span>
-<a name="l00062"></a>00062 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00063"></a><a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">00063</a> <span class="keyword">typedef</span> uint8_t <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a>;
-<a name="l00064"></a>00064 
-<a name="l00065"></a>00065 
-<a name="l00066"></a>00066 <span class="preprocessor">#ifndef FIO_FALLBACK</span>
-<a name="l00067"></a>00067 <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="l00068"></a>00068 <span class="preprocessor">#else</span>
-<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="comment">// remove volatile to give optimizer a chance</span>
-<a name="l00070"></a><a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">00070</a> <span class="keyword">typedef</span> uint8_t <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a>;
-<a name="l00071"></a>00071 <span class="preprocessor">#endif</span>
-<a name="l00072"></a>00072 <span class="preprocessor"></span>
-<a name="l00080"></a>00080 <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="l00081"></a>00081 
-<a name="l00089"></a>00089 <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="l00090"></a>00090 
-<a name="l00098"></a>00098 <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="l00099"></a>00099 
-<a name="l00100"></a>00100 
-<a name="l00110"></a>00110 <span class="comment">// __attribute__ ((always_inline)) /* let the optimizer decide that for now */</span>
-<a name="l00111"></a>00111 <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="l00043"></a>00043 <span class="preprocessor">#ifdef __AVR__</span>
+<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="preprocessor">#include &lt;util/atomic.h&gt;</span> <span class="comment">// for critical section management</span>
+<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="l00053"></a>00053 <span class="preprocessor">#ifndef __AVR__</span>
+<a name="l00054"></a><a class="code" href="_fast_i_o_8h.html#a32f90d0ad5c1295c97cc1e79936aadd6">00054</a> <span class="preprocessor"></span><span class="preprocessor">#define FIO_FALLBACK</span>
+<a name="l00055"></a><a class="code" href="_fast_i_o_8h.html#ad2374bbbb11bdb9abeeec0db769afd30">00055</a> <span class="preprocessor"></span><span class="preprocessor">#define ATOMIC_BLOCK</span>
+<a name="l00056"></a><a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">00056</a> <span class="preprocessor"></span><span class="preprocessor">#define ATOMIC_RESTORESTATE</span>
+<a name="l00057"></a>00057 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00058"></a>00058 <span class="preprocessor"></span>
+<a name="l00059"></a>00059 <span class="comment">// PUBLIC CONSTANTS DEFINITIONS</span>
+<a name="l00060"></a>00060 <span class="comment">// ---------------------------------------------------------------------------</span>
+<a name="l00066"></a><a class="code" href="_fast_i_o_8h.html#a688a4adbb87520a2b68681bd6bfb199e">00066</a> <span class="comment"></span><span class="preprocessor">#define SKIP 0x23</span>
+<a name="l00067"></a>00067 <span class="preprocessor"></span>
+<a name="l00068"></a>00068 <span class="comment">// PUBLIC TYPE DEFINITIONS</span>
+<a name="l00069"></a>00069 <span class="comment">// ---------------------------------------------------------------------------</span>
+<a name="l00070"></a><a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">00070</a> <span class="keyword">typedef</span> uint8_t <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a>;
+<a name="l00071"></a>00071 
+<a name="l00078"></a>00078 <span class="preprocessor">#ifndef FIO_FALLBACK</span>
+<a name="l00079"></a>00079 <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="l00080"></a>00080 <span class="preprocessor">#else</span>
+<a name="l00081"></a>00081 <span class="preprocessor"></span><span class="comment">// remove volatile to give optimizer a chance</span>
+<a name="l00082"></a><a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">00082</a> <span class="keyword">typedef</span> uint8_t <a class="code" href="_fast_i_o_8h.html#ae44ea3af54ef26db03f1ae2ea62f9c1f">fio_register</a>;
+<a name="l00083"></a>00083 <span class="preprocessor">#endif</span>
+<a name="l00084"></a>00084 <span class="preprocessor"></span>
+<a name="l00092"></a>00092 <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="l00093"></a>00093 
+<a name="l00101"></a>00101 <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="l00102"></a>00102 
+<a name="l00110"></a>00110 <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="l00111"></a>00111 
 <a name="l00112"></a>00112 
-<a name="l00119"></a>00119 <span class="preprocessor">#ifndef FIO_FALLBACK</span>
-<a name="l00120"></a>00120 <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_LOW(reg,bit) *reg &amp;= ~bit</span>
-<a name="l00121"></a>00121 <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_HIGH(reg,bit) *reg |= bit</span>
-<a name="l00122"></a>00122 <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_SWITCH(reg,bit) *reg ^= bit</span>
-<a name="l00123"></a>00123 <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_SWITCHTO(reg,bit,val) fio_digitalWrite_SWITCH(reg,bit)</span>
-<a name="l00124"></a>00124 <span class="preprocessor"></span><span class="preprocessor">#else</span>
-<a name="l00125"></a>00125 <span class="preprocessor"></span><span class="comment">// reg -&gt; dummy NULL, bit -&gt; pin</span>
-<a name="l00126"></a><a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">00126</a> <span class="preprocessor">#define fio_digitalWrite_HIGH(reg,bit) digitalWrite(bit,HIGH)</span>
-<a name="l00127"></a><a class="code" href="_fast_i_o_8h.html#ac8f00a1bccb98109531b88fbb6e91478">00127</a> <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_LOW(reg,bit) digitalWrite(bit,LOW)</span>
-<a name="l00128"></a><a class="code" href="_fast_i_o_8h.html#a6d1dffed7f0c8f28f6c88146315f7832">00128</a> <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_SWITCH(reg,bit) digitalWrite(bit, !digitalRead(bit))</span>
-<a name="l00129"></a><a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">00129</a> <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_SWITCHTO(reg,bit,val) digitalWrite(bit,val);</span>
-<a name="l00130"></a>00130 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00131"></a>00131 <span class="preprocessor"></span>
-<a name="l00141"></a>00141 <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="l00142"></a>00142 
-<a name="l00154"></a>00154 <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="l00155"></a>00155                    <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> clockBit, uint8_t value, uint8_t bitOrder );
-<a name="l00156"></a>00156 
-<a name="l00167"></a>00167 <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="l00122"></a>00122 <span class="comment">// __attribute__ ((always_inline)) /* let the optimizer decide that for now */</span>
+<a name="l00123"></a>00123 <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="l00124"></a>00124 
+<a name="l00131"></a>00131 <span class="preprocessor">#ifndef FIO_FALLBACK</span>
+<a name="l00132"></a>00132 <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_LOW(reg,bit) *reg &amp;= ~bit</span>
+<a name="l00133"></a>00133 <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_HIGH(reg,bit) *reg |= bit</span>
+<a name="l00134"></a>00134 <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_SWITCH(reg,bit) *reg ^= bit</span>
+<a name="l00135"></a>00135 <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_SWITCHTO(reg,bit,val) fio_digitalWrite_SWITCH(reg,bit)</span>
+<a name="l00136"></a>00136 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+<a name="l00137"></a>00137 <span class="preprocessor"></span><span class="comment">// reg -&gt; dummy NULL, bit -&gt; pin</span>
+<a name="l00138"></a><a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">00138</a> <span class="preprocessor">#define fio_digitalWrite_HIGH(reg,bit) digitalWrite(bit,HIGH)</span>
+<a name="l00139"></a><a class="code" href="_fast_i_o_8h.html#ac8f00a1bccb98109531b88fbb6e91478">00139</a> <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_LOW(reg,bit) digitalWrite(bit,LOW)</span>
+<a name="l00140"></a><a class="code" href="_fast_i_o_8h.html#a6d1dffed7f0c8f28f6c88146315f7832">00140</a> <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_SWITCH(reg,bit) digitalWrite(bit, !digitalRead(bit))</span>
+<a name="l00141"></a><a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">00141</a> <span class="preprocessor"></span><span class="preprocessor">#define fio_digitalWrite_SWITCHTO(reg,bit,val) digitalWrite(bit,val);</span>
+<a name="l00142"></a>00142 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00143"></a>00143 <span class="preprocessor"></span>
+<a name="l00153"></a>00153 <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="l00154"></a>00154 
+<a name="l00166"></a>00166 <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="l00167"></a>00167                    <a class="code" href="_fast_i_o_8h.html#a0a595a88b29bcfd1540b6fac75787937">fio_bit</a> clockBit, uint8_t value, uint8_t bitOrder );
 <a name="l00168"></a>00168 
-<a name="l00177"></a>00177 <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="l00185"></a>00185 <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="l00193"></a>00193 <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="l00200"></a>00200 <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#ae4b2e099f8ade9ee674d1565669e870a">fio_shiftOut1_init</a>(uint8_t pin);
-<a name="l00201"></a>00201 
-<a name="l00202"></a>00202 <span class="preprocessor">#endif // FAST_IO_H</span>
+<a name="l00179"></a>00179 <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="l00180"></a>00180 
+<a name="l00189"></a>00189 <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="l00197"></a>00197 <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="l00205"></a>00205 <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="l00212"></a>00212 <span class="keywordtype">void</span> <a class="code" href="_fast_i_o_8cpp.html#ae4b2e099f8ade9ee674d1565669e870a">fio_shiftOut1_init</a>(uint8_t pin);
+<a name="l00213"></a>00213 
+<a name="l00214"></a>00214 <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 Tue Feb 28 2012 19:52:02 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Sun Mar 4 2012 21:17:06 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

  <tr style="height: 56px;">
   <td id="projectlogo"><img alt="Logo" src="logoGoogle.jpg"/></td>
   <td style="padding-left: 0.5em;">
-   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.1</span></div>
    <div id="projectbrief">LCD Library - LCD control class hierarchy library. Drop in replacement for the LiquidCrystal Library.</div>
   </td>
  </tr>
 </iframe>
 </div>
 
-<hr class="footer"/><address class="footer"><small>Generated on Tue Feb 28 2012 19:52:02 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Sun Mar 4 2012 21:17:07 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

  <tr style="height: 56px;">
   <td id="projectlogo"><img alt="Logo" src="logoGoogle.jpg"/></td>
   <td style="padding-left: 0.5em;">
-   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.1</span></div>
    <div id="projectbrief">LCD Library - LCD control class hierarchy library. Drop in replacement for the LiquidCrystal Library.</div>
   </td>
  </tr>
 </iframe>
 </div>
 
-<hr class="footer"/><address class="footer"><small>Generated on Tue Feb 28 2012 19:52:02 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Sun Mar 4 2012 21:17:06 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

  <tr style="height: 56px;">
   <td id="projectlogo"><img alt="Logo" src="logoGoogle.jpg"/></td>
   <td style="padding-left: 0.5em;">
-   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.1</span></div>
    <div id="projectbrief">LCD Library - LCD control class hierarchy library. Drop in replacement for the LiquidCrystal Library.</div>
   </td>
  </tr>
 </iframe>
 </div>
 
-<hr class="footer"/><address class="footer"><small>Generated on Tue Feb 28 2012 19:52:02 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Sun Mar 4 2012 21:17:07 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

  <tr style="height: 56px;">
   <td id="projectlogo"><img alt="Logo" src="logoGoogle.jpg"/></td>
   <td style="padding-left: 0.5em;">
-   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.1</span></div>
    <div id="projectbrief">LCD Library - LCD control class hierarchy library. Drop in replacement for the LiquidCrystal Library.</div>
   </td>
  </tr>
 </iframe>
 </div>
 
-<hr class="footer"/><address class="footer"><small>Generated on Tue Feb 28 2012 19:52:02 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Sun Mar 4 2012 21:17:06 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

  <tr style="height: 56px;">
   <td id="projectlogo"><img alt="Logo" src="logoGoogle.jpg"/></td>
   <td style="padding-left: 0.5em;">
-   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.1</span></div>
    <div id="projectbrief">LCD Library - LCD control class hierarchy library. Drop in replacement for the LiquidCrystal Library.</div>
   </td>
  </tr>
 </iframe>
 </div>
 
-<hr class="footer"/><address class="footer"><small>Generated on Tue Feb 28 2012 19:52:02 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Sun Mar 4 2012 21:17:07 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

  <tr style="height: 56px;">
   <td id="projectlogo"><img alt="Logo" src="logoGoogle.jpg"/></td>
   <td style="padding-left: 0.5em;">
-   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.1</span></div>
    <div id="projectbrief">LCD Library - LCD control class hierarchy library. Drop in replacement for the LiquidCrystal Library.</div>
   </td>
  </tr>
 <a name="l00093"></a>00093    <span class="comment">// before sending commands. Arduino can turn on way before 4.5V so we&#39;ll wait </span>
 <a name="l00094"></a>00094    <span class="comment">// 50</span>
 <a name="l00095"></a>00095    <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00096"></a>00096    delayMicroseconds(100000); 
+<a name="l00096"></a>00096    delay (100); <span class="comment">// 100ms delay</span>
 <a name="l00097"></a>00097       
 <a name="l00098"></a>00098    <span class="comment">//put the LCD into 4 bit or 8 bit mode</span>
 <a name="l00099"></a>00099    <span class="comment">// -------------------------------------</span>
 <a name="l00293"></a>00293    }
 <a name="l00294"></a>00294 }
 <a name="l00295"></a>00295 
-<a name="l00296"></a>00296 <span class="comment">// General LCD commands - generic methods used by the rest of the commands</span>
-<a name="l00297"></a>00297 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00298"></a><a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">00298</a> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">LCD::command</a>(uint8_t value) 
-<a name="l00299"></a>00299 {
-<a name="l00300"></a>00300    <a class="code" href="class_l_c_d.html#a8a5b6f6f448a6ca6eeb3466c370d47ab">send</a>(value, <a class="code" href="_l_c_d_8h.html#ab0d87e07831e7e4943caef187872123e">COMMAND</a>);
-<a name="l00301"></a>00301 }
-<a name="l00302"></a>00302 
-<a name="l00303"></a>00303 <span class="preprocessor">#if (ARDUINO &lt;  100)</span>
-<a name="l00304"></a><a class="code" href="class_l_c_d.html#a2d89cc2e62f72afb5f15a7fd812900e3">00304</a> <span class="preprocessor"></span><span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a2d89cc2e62f72afb5f15a7fd812900e3">LCD::write</a>(uint8_t value)
-<a name="l00305"></a>00305 {
-<a name="l00306"></a>00306    <a class="code" href="class_l_c_d.html#a8a5b6f6f448a6ca6eeb3466c370d47ab">send</a>(value, <a class="code" href="_l_c_d_8h.html#aad9ae913bdfab20dd94ad04ee2d5b045">DATA</a>);
-<a name="l00307"></a>00307 }
-<a name="l00308"></a>00308 <span class="preprocessor">#else</span>
-<a name="l00309"></a>00309 <span class="preprocessor"></span><span class="keywordtype">size_t</span> <a class="code" href="class_l_c_d.html#a2d89cc2e62f72afb5f15a7fd812900e3">LCD::write</a>(uint8_t value) 
-<a name="l00310"></a>00310 {
-<a name="l00311"></a>00311    <a class="code" href="class_l_c_d.html#a8a5b6f6f448a6ca6eeb3466c370d47ab">send</a>(value, <a class="code" href="_l_c_d_8h.html#aad9ae913bdfab20dd94ad04ee2d5b045">DATA</a>);
-<a name="l00312"></a>00312    <span class="keywordflow">return</span> 1;             <span class="comment">// assume OK</span>
-<a name="l00313"></a>00313 }
-<a name="l00314"></a>00314 <span class="preprocessor">#endif</span>
+<a name="l00296"></a><a class="code" href="class_l_c_d.html#aba8867fe2210cbfa8db869208709be10">00296</a> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#aba8867fe2210cbfa8db869208709be10">LCD::backlight</a> ( <span class="keywordtype">void</span> )
+<a name="l00297"></a>00297 {
+<a name="l00298"></a>00298    <a class="code" href="class_l_c_d.html#a3305570d7b37eb93f2cf840263c15828">setBacklight</a>(255);
+<a name="l00299"></a>00299 }
+<a name="l00300"></a>00300 
+<a name="l00301"></a><a class="code" href="class_l_c_d.html#a2a331b4e142734411b2f1cfaffe7a488">00301</a> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a2a331b4e142734411b2f1cfaffe7a488">LCD::noBacklight</a> ( <span class="keywordtype">void</span> )
+<a name="l00302"></a>00302 {
+<a name="l00303"></a>00303    <a class="code" href="class_l_c_d.html#a3305570d7b37eb93f2cf840263c15828">setBacklight</a>(0);
+<a name="l00304"></a>00304 }
+<a name="l00305"></a>00305 
+<a name="l00306"></a>00306 <span class="comment">// General LCD commands - generic methods used by the rest of the commands</span>
+<a name="l00307"></a>00307 <span class="comment">// ---------------------------------------------------------------------------</span>
+<a name="l00308"></a><a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">00308</a> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">LCD::command</a>(uint8_t value) 
+<a name="l00309"></a>00309 {
+<a name="l00310"></a>00310    <a class="code" href="class_l_c_d.html#a8a5b6f6f448a6ca6eeb3466c370d47ab">send</a>(value, <a class="code" href="_l_c_d_8h.html#ab0d87e07831e7e4943caef187872123e">COMMAND</a>);
+<a name="l00311"></a>00311 }
+<a name="l00312"></a>00312 
+<a name="l00313"></a>00313 <span class="preprocessor">#if (ARDUINO &lt;  100)</span>
+<a name="l00314"></a><a class="code" href="class_l_c_d.html#a2d89cc2e62f72afb5f15a7fd812900e3">00314</a> <span class="preprocessor"></span><span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a2d89cc2e62f72afb5f15a7fd812900e3">LCD::write</a>(uint8_t value)
+<a name="l00315"></a>00315 {
+<a name="l00316"></a>00316    <a class="code" href="class_l_c_d.html#a8a5b6f6f448a6ca6eeb3466c370d47ab">send</a>(value, <a class="code" href="_l_c_d_8h.html#aad9ae913bdfab20dd94ad04ee2d5b045">DATA</a>);
+<a name="l00317"></a>00317 }
+<a name="l00318"></a>00318 <span class="preprocessor">#else</span>
+<a name="l00319"></a>00319 <span class="preprocessor"></span><span class="keywordtype">size_t</span> <a class="code" href="class_l_c_d.html#a2d89cc2e62f72afb5f15a7fd812900e3">LCD::write</a>(uint8_t value) 
+<a name="l00320"></a>00320 {
+<a name="l00321"></a>00321    <a class="code" href="class_l_c_d.html#a8a5b6f6f448a6ca6eeb3466c370d47ab">send</a>(value, <a class="code" href="_l_c_d_8h.html#aad9ae913bdfab20dd94ad04ee2d5b045">DATA</a>);
+<a name="l00322"></a>00322    <span class="keywordflow">return</span> 1;             <span class="comment">// assume OK</span>
+<a name="l00323"></a>00323 }
+<a name="l00324"></a>00324 <span class="preprocessor">#endif</span>
 </pre></div></div>
 </div>
 <!-- window showing the filter options -->
 </iframe>
 </div>
 
-<hr class="footer"/><address class="footer"><small>Generated on Tue Feb 28 2012 19:52:02 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Sun Mar 4 2012 21:17:06 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 style="height: 56px;">
   <td id="projectlogo"><img alt="Logo" src="logoGoogle.jpg"/></td>
   <td style="padding-left: 0.5em;">
-   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.1</span></div>
    <div id="projectbrief">LCD Library - LCD control class hierarchy library. Drop in replacement for the LiquidCrystal Library.</div>
   </td>
  </tr>
 </div>
 <div class="memdoc">
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00129">129</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#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#l00133">133</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </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#l00055">55</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#l00058">58</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#l00138">138</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#l00141">141</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#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#l00119">119</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#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#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#l00118">118</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#l00121">121</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#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#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#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#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#l00128">128</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#l00117">117</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#l00120">120</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#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#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#l00108">108</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#l00083">83</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#l00086">86</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#l00111">111</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#l00114">114</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#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#l00103">103</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#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#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#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#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#l00110">110</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#l00113">113</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#l00102">102</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#l00105">105</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#l00101">101</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#l00104">104</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#l00095">95</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#l00098">98</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#l00085">85</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#l00094">94</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#l00097">97</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#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#l00096">96</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#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#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#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#l00112">112</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#l00084">84</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#l00087">87</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#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#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#l00093">93</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
 
 </div>
 </div>
 </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#l00066">66</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#l00069">69</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 Tue Feb 28 2012 19:52:02 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Sun Mar 4 2012 21:17:07 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

  <tr style="height: 56px;">
   <td id="projectlogo"><img alt="Logo" src="logoGoogle.jpg"/></td>
   <td style="padding-left: 0.5em;">
-   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.1</span></div>
    <div id="projectbrief">LCD Library - LCD control class hierarchy library. Drop in replacement for the LiquidCrystal Library.</div>
   </td>
  </tr>
 <a name="l00026"></a>00026 <span class="comment">// it has been extended to drive 4 and 8 bit mode control, LCDs and I2C extension</span>
 <a name="l00027"></a>00027 <span class="comment">// backpacks such as the I2CLCDextraIO using the PCF8574* I2C IO Expander ASIC.</span>
 <a name="l00028"></a>00028 <span class="comment">//</span>
-<a name="l00029"></a>00029 <span class="comment">// @version API 1.1.0</span>
-<a name="l00030"></a>00030 <span class="comment">//</span>
+<a name="l00029"></a>00029 <span class="comment">// The functionality provided by this class and its base class is identical</span>
+<a name="l00030"></a>00030 <span class="comment">// to the original functionality of the Arduino LiquidCrystal library.</span>
 <a name="l00031"></a>00031 <span class="comment">//</span>
-<a name="l00032"></a>00032 <span class="comment">// @author F. Malpartida - fmalpartida@gmail.com</span>
-<a name="l00033"></a>00033 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00034"></a>00034 <span class="preprocessor">#ifndef _LCD_H_</span>
-<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#define _LCD_H_</span>
-<a name="l00036"></a>00036 <span class="preprocessor"></span>
-<a name="l00037"></a>00037 <span class="preprocessor">#if (ARDUINO &lt;  100)</span>
-<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#include &lt;WProgram.h&gt;</span>
-<a name="l00039"></a>00039 <span class="preprocessor">#else</span>
-<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#include &lt;Arduino.h&gt;</span>
-<a name="l00041"></a>00041 <span class="preprocessor">#endif</span>
-<a name="l00042"></a>00042 <span class="preprocessor"></span>
-<a name="l00043"></a>00043 <span class="preprocessor">#include &lt;inttypes.h&gt;</span>
-<a name="l00044"></a>00044 <span class="preprocessor">#include &lt;Print.h&gt;</span>
-<a name="l00045"></a>00045 
-<a name="l00046"></a>00046 
-<a name="l00055"></a><a class="code" href="_l_c_d_8h.html#ac707c9605a0b9ca67aa757ad23377feb">00055</a> <span class="preprocessor">#define FAST_MODE</span>
-<a name="l00056"></a>00056 <span class="preprocessor"></span>
-<a name="l00066"></a><a class="code" href="_l_c_d_8h.html#a6eac41e4be58d7736ac0c19de225c0dc">00066</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="l00067"></a>00067 {
-<a name="l00068"></a>00068 <span class="preprocessor">#ifndef FAST_MODE</span>
-<a name="l00069"></a>00069 <span class="preprocessor"></span>   delayMicroseconds ( uSec );
-<a name="l00070"></a>00070 <span class="preprocessor">#endif // FAST_MODE</span>
-<a name="l00071"></a>00071 <span class="preprocessor"></span>}
-<a name="l00072"></a>00072 
-<a name="l00073"></a>00073 
-<a name="l00081"></a>00081 <span class="comment">// LCD Commands</span>
-<a name="l00082"></a>00082 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00083"></a><a class="code" href="_l_c_d_8h.html#acc3509bc0442b41e2b816555de473ed2">00083</a> <span class="preprocessor">#define LCD_CLEARDISPLAY        0x01</span>
-<a name="l00084"></a><a class="code" href="_l_c_d_8h.html#a154c86a887633d0f6d9988e4dbb1f419">00084</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_RETURNHOME          0x02</span>
-<a name="l00085"></a><a class="code" href="_l_c_d_8h.html#a5597e1d5819ea2f0734ad4313abf6703">00085</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_ENTRYMODESET        0x04</span>
-<a name="l00086"></a><a class="code" href="_l_c_d_8h.html#adfb8b2b8b8a08d7313504d7a4f89d99f">00086</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_DISPLAYCONTROL      0x08</span>
-<a name="l00087"></a><a class="code" href="_l_c_d_8h.html#a61f16a2b7550e4700f7898a7587c5594">00087</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_CURSORSHIFT         0x10</span>
-<a name="l00088"></a><a class="code" href="_l_c_d_8h.html#aaef882ae70d1f485cd132815d9716111">00088</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_FUNCTIONSET         0x20</span>
-<a name="l00089"></a><a class="code" href="_l_c_d_8h.html#aae6ea856879c11dee58493184582a52f">00089</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_SETCGRAMADDR        0x40</span>
-<a name="l00090"></a><a class="code" href="_l_c_d_8h.html#a15008b832807a208d9d88c74e6751ebf">00090</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_SETDDRAMADDR        0x80</span>
-<a name="l00091"></a>00091 <span class="preprocessor"></span>
-<a name="l00092"></a>00092 <span class="comment">// flags for display entry mode</span>
-<a name="l00093"></a>00093 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00094"></a><a class="code" href="_l_c_d_8h.html#a43c26ba2e66880fac95ef640b56873ad">00094</a> <span class="preprocessor">#define LCD_ENTRYRIGHT          0x00</span>
-<a name="l00095"></a><a class="code" href="_l_c_d_8h.html#ae7c6309fce6200bd7526d090a4a84dd0">00095</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_ENTRYLEFT           0x02</span>
-<a name="l00096"></a><a class="code" href="_l_c_d_8h.html#aa2cf1d0f4a319e53c009cffe1184466c">00096</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_ENTRYSHIFTINCREMENT 0x01</span>
-<a name="l00097"></a><a class="code" href="_l_c_d_8h.html#a049ee97e98d04788c1da9a55590fbe42">00097</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_ENTRYSHIFTDECREMENT 0x00</span>
-<a name="l00098"></a>00098 <span class="preprocessor"></span>
-<a name="l00099"></a>00099 <span class="comment">// flags for display on/off and cursor control</span>
-<a name="l00100"></a>00100 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00101"></a><a class="code" href="_l_c_d_8h.html#a76236ae8317b34bbc98ea56bc0a2639c">00101</a> <span class="preprocessor">#define LCD_DISPLAYON           0x04</span>
-<a name="l00102"></a><a class="code" href="_l_c_d_8h.html#a257ebe775cac7140cf82aa40d8ce545a">00102</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_DISPLAYOFF          0x00</span>
-<a name="l00103"></a><a class="code" href="_l_c_d_8h.html#ab67f0adccde68de88eee0513fdfc4574">00103</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_CURSORON            0x02</span>
-<a name="l00104"></a><a class="code" href="_l_c_d_8h.html#a32b194a3adaa0a0bb69acee2e6a754fa">00104</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_CURSOROFF           0x00</span>
-<a name="l00105"></a><a class="code" href="_l_c_d_8h.html#ac3b19d4e6553b9bbf18a23387e439206">00105</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_BLINKON             0x01</span>
-<a name="l00106"></a><a class="code" href="_l_c_d_8h.html#a4b28243034cec656b0ed490ba6979752">00106</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_BLINKOFF            0x00</span>
-<a name="l00107"></a>00107 <span class="preprocessor"></span>
-<a name="l00108"></a>00108 <span class="comment">// flags for display/cursor shift</span>
-<a name="l00109"></a>00109 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00110"></a><a class="code" href="_l_c_d_8h.html#ab2f7b67abfac33f610acfd5d7a971f40">00110</a> <span class="preprocessor">#define LCD_DISPLAYMOVE         0x08</span>
-<a name="l00111"></a><a class="code" href="_l_c_d_8h.html#ac21f0302ac4136775877d5f4759e4f74">00111</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_CURSORMOVE          0x00</span>
-<a name="l00112"></a><a class="code" href="_l_c_d_8h.html#acf5999180233790bb2c9902efde58f7f">00112</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_MOVERIGHT           0x04</span>
-<a name="l00113"></a><a class="code" href="_l_c_d_8h.html#aafb86adb0dfca1e65d65b2cd1946a009">00113</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_MOVELEFT            0x00</span>
-<a name="l00114"></a>00114 <span class="preprocessor"></span>
-<a name="l00115"></a>00115 <span class="comment">// flags for function set</span>
-<a name="l00116"></a>00116 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00117"></a><a class="code" href="_l_c_d_8h.html#a59a57ca857dae5d89eb5f2a38c4ac6f0">00117</a> <span class="preprocessor">#define LCD_8BITMODE            0x10</span>
-<a name="l00118"></a><a class="code" href="_l_c_d_8h.html#ab8c35d355d2372090c7a347e961c9224">00118</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_4BITMODE            0x00</span>
-<a name="l00119"></a><a class="code" href="_l_c_d_8h.html#a7987e93538df2819583ba43b81ddbb25">00119</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_2LINE               0x08</span>
-<a name="l00120"></a><a class="code" href="_l_c_d_8h.html#a8c85cf88d8af66a47c42249d81c94641">00120</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_1LINE               0x00</span>
-<a name="l00121"></a><a class="code" href="_l_c_d_8h.html#abb3210156d88d3fe18c9352eb161fe42">00121</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_5x10DOTS            0x04</span>
-<a name="l00122"></a><a class="code" href="_l_c_d_8h.html#a9ef57e724c1b846dae0f531aff6fb464">00122</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_5x8DOTS             0x00</span>
-<a name="l00123"></a>00123 <span class="preprocessor"></span>
-<a name="l00124"></a><a class="code" href="_l_c_d_8h.html#a31e1c14e8c2845dec3301f0ebd36b43c">00124</a> <span class="preprocessor">#define LCD_4BIT                1</span>
-<a name="l00125"></a><a class="code" href="_l_c_d_8h.html#a57d84af8cf61ceee4eb91db77889f071">00125</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_8BIT                0</span>
+<a name="l00032"></a>00032 <span class="comment">// @version API 1.1.0</span>
+<a name="l00033"></a>00033 <span class="comment">//</span>
+<a name="l00034"></a>00034 <span class="comment">//</span>
+<a name="l00035"></a>00035 <span class="comment">// @author F. Malpartida - fmalpartida@gmail.com</span>
+<a name="l00036"></a>00036 <span class="comment">// ---------------------------------------------------------------------------</span>
+<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _LCD_H_</span>
+<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _LCD_H_</span>
+<a name="l00039"></a>00039 <span class="preprocessor"></span>
+<a name="l00040"></a>00040 <span class="preprocessor">#if (ARDUINO &lt;  100)</span>
+<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#include &lt;WProgram.h&gt;</span>
+<a name="l00042"></a>00042 <span class="preprocessor">#else</span>
+<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="preprocessor">#include &lt;Arduino.h&gt;</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 <span class="preprocessor">#include &lt;inttypes.h&gt;</span>
+<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 <span class="comment">// Define COMMAND and DATA LCD Rs</span>
-<a name="l00128"></a>00128 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00129"></a><a class="code" href="_l_c_d_8h.html#ab0d87e07831e7e4943caef187872123e">00129</a> <span class="preprocessor">#define COMMAND                 0</span>
-<a name="l00130"></a><a class="code" href="_l_c_d_8h.html#aad9ae913bdfab20dd94ad04ee2d5b045">00130</a> <span class="preprocessor"></span><span class="preprocessor">#define DATA                    1</span>
-<a name="l00131"></a>00131 <span class="preprocessor"></span>
-<a name="l00138"></a><a class="code" href="_l_c_d_8h.html#ad25b138788d83e67f840588754e2df2f">00138</a> <span class="preprocessor">#define HOME_CLEAR_EXEC      2000</span>
-<a name="l00139"></a>00139 <span class="preprocessor"></span>
-<a name="l00140"></a><a class="code" href="class_l_c_d.html">00140</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="l00141"></a>00141 {
-<a name="l00142"></a>00142 <span class="keyword">public</span>:
-<a name="l00143"></a>00143    
-<a name="l00150"></a>00150    <a class="code" href="class_l_c_d.html#a00bb2db1390721abc7b24ac4b8c276c8">LCD</a> ( );
-<a name="l00151"></a>00151    
-<a name="l00166"></a>00166    <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="l00167"></a>00167    
-<a name="l00178"></a>00178    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#afa699e0beeeee03cce8cef87eba81c4a">clear</a>();
-<a name="l00179"></a>00179    
-<a name="l00191"></a>00191    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#aee45ad37f09312f5d9982257e2d37e68">home</a>();
-<a name="l00192"></a>00192    
-<a name="l00201"></a>00201    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#af3974da6d988ba2d21c25135ada12108">noDisplay</a>();
-<a name="l00202"></a>00202    
-<a name="l00212"></a>00212    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a5b07cf05e8e5e7c53654f5ca0cf58b89">display</a>();
-<a name="l00213"></a>00213    
-<a name="l00220"></a>00220    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a3b755c4b397b5985752be8c30ee1a9b5">noBlink</a>();
-<a name="l00221"></a>00221    
-<a name="l00230"></a>00230    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a878b36878fa8287093964eba83aace77">blink</a>();
-<a name="l00231"></a>00231    
-<a name="l00238"></a>00238    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#aec8ffaa1e69c7a6e13ac0cfbc29151d9">noCursor</a>();
-<a name="l00239"></a>00239    
-<a name="l00248"></a>00248    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a194814f64dfa50a90e07e0fe0d361620">cursor</a>();
-<a name="l00249"></a>00249    
-<a name="l00257"></a>00257    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a6f3a503055b3b8dcf0f61b2633c584f7">scrollDisplayLeft</a>();
-<a name="l00258"></a>00258    
-<a name="l00266"></a>00266    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#abfc44b294772f09020bfa32af8a79571">scrollDisplayRight</a>();
-<a name="l00267"></a>00267    
-<a name="l00279"></a>00279    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a238e9f6476dc7df64af04eb6c87f6ac7">leftToRight</a>();
-<a name="l00280"></a>00280    
-<a name="l00292"></a>00292    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#ac014830eadc26bfd86308ea8734f4428">rightToLeft</a>();
-<a name="l00293"></a>00293    
-<a name="l00300"></a>00300    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#aad2abc99d1aca5403873579d9d72c2d4">moveCursorLeft</a>();
-<a name="l00301"></a>00301 
-<a name="l00302"></a>00302    
-<a name="l00309"></a>00309    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a09eec0c712e54b066f5894635c1fe75c">moveCursorRight</a>();
-<a name="l00310"></a>00310    
-<a name="l00324"></a>00324    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#abb3ed88d530f6283e6159b4973e7da9e">autoscroll</a>();
-<a name="l00325"></a>00325    
-<a name="l00334"></a>00334    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a96035dde40efbf73390e00b5beb00231">noAutoscroll</a>();
-<a name="l00335"></a>00335    
-<a name="l00352"></a>00352    <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="l00353"></a>00353    
-<a name="l00363"></a>00363    <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="l00364"></a>00364 
-<a name="l00365"></a>00365    
-<a name="l00377"></a>00377    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(uint8_t value);
-<a name="l00378"></a>00378    
-<a name="l00379"></a>00379    <span class="comment">//</span>
-<a name="l00380"></a>00380    <span class="comment">// virtual class methods</span>
-<a name="l00381"></a>00381    <span class="comment">// --------------------------------------------------------------------------</span>
-<a name="l00393"></a><a class="code" href="class_l_c_d.html#a4660b37d1f7f4e1eb61de043988dd902">00393</a> <span class="comment"></span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a4660b37d1f7f4e1eb61de043988dd902">setBacklight</a> ( uint8_t mode ) { };
-<a name="l00394"></a>00394    
-<a name="l00404"></a><a class="code" href="class_l_c_d.html#a2871297d458e3384538008541192af27">00404</a>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a2871297d458e3384538008541192af27">setBacklightPin</a> ( uint8_t pin ) { };
-<a name="l00405"></a>00405    
-<a name="l00417"></a>00417 <span class="preprocessor">#if (ARDUINO &lt;  100)</span>
-<a name="l00418"></a>00418 <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="l00419"></a>00419 <span class="preprocessor">#else</span>
-<a name="l00420"></a>00420 <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="l00421"></a>00421 <span class="preprocessor">#endif</span>
-<a name="l00422"></a>00422 <span class="preprocessor"></span>   
-<a name="l00423"></a>00423    
-<a name="l00437"></a>00437 <span class="preprocessor">#if (ARDUINO &lt;  100)</span>
-<a name="l00438"></a><a class="code" href="class_l_c_d.html#a8a5b6f6f448a6ca6eeb3466c370d47ab">00438</a> <span class="preprocessor"></span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a8a5b6f6f448a6ca6eeb3466c370d47ab">send</a>(uint8_t value, uint8_t mode) { };
-<a name="l00439"></a>00439 <span class="preprocessor">#else</span>
-<a name="l00440"></a>00440 <span class="preprocessor"></span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a8a5b6f6f448a6ca6eeb3466c370d47ab">send</a>(uint8_t value, uint8_t mode) = 0;
-<a name="l00441"></a>00441 <span class="preprocessor">#endif</span>
-<a name="l00442"></a>00442 <span class="preprocessor"></span>   
-<a name="l00443"></a>00443 <span class="preprocessor">#if (ARDUINO &lt;  100)</span>
-<a name="l00444"></a>00444 <span class="preprocessor"></span>   <span class="keyword">using</span> <a class="code" href="class_l_c_d.html#a2d89cc2e62f72afb5f15a7fd812900e3">Print::write</a>;
-<a name="l00445"></a>00445 <span class="preprocessor">#else</span>
-<a name="l00446"></a>00446 <span class="preprocessor"></span>   <span class="keyword">using</span> <a class="code" href="class_l_c_d.html#a2d89cc2e62f72afb5f15a7fd812900e3">Print::write</a>;
-<a name="l00447"></a>00447 <span class="preprocessor">#endif   </span>
-<a name="l00448"></a>00448 <span class="preprocessor"></span>   
-<a name="l00449"></a>00449 <span class="keyword">protected</span>:
-<a name="l00450"></a>00450    <span class="comment">// Internal LCD variables to control the LCD shared between all derived</span>
-<a name="l00451"></a>00451    <span class="comment">// classes.</span>
-<a name="l00452"></a><a class="code" href="class_l_c_d.html#aef093ba3f8e1016267b40ac235a0fa0f">00452</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="l00453"></a>00453                               <span class="comment">// LCD_8BITMODE, LCD_1LINE or LCD_2LINE</span>
-<a name="l00454"></a><a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">00454</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="l00455"></a>00455                               <span class="comment">// all commands are &quot;ored&quot; to its contents.</span>
-<a name="l00456"></a><a class="code" href="class_l_c_d.html#a726b9a68d091dd8683a18e83f3a8fd3c">00456</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="l00457"></a><a class="code" href="class_l_c_d.html#ac1374911fb145fea430c21092ada0c06">00457</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="l00458"></a><a class="code" href="class_l_c_d.html#a88b16ea0e5c7d1cabc5007d48bcbd2b0">00458</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="l00459"></a>00459    
-<a name="l00460"></a>00460 <span class="keyword">private</span>:
-<a name="l00461"></a>00461    
-<a name="l00462"></a>00462 };
-<a name="l00463"></a>00463 
-<a name="l00464"></a>00464 <span class="preprocessor">#endif<