Source

New LiquidCrystal / docs / html / _liquid_crystal___s_r3_w_8cpp_source.html

The default branch has multiple heads

Diff from to

File docs/html/_liquid_crystal___s_r3_w_8cpp_source.html

 <a name="l00038"></a>00038 <span class="comment">//        |             |             |</span>
 <a name="l00039"></a>00039 <span class="comment">//   +----+-------------+-------------+-----------+</span>
 <a name="l00040"></a>00040 <span class="comment">//   |    Strobe        Data          Clock       |</span>
-<a name="l00041"></a>00041 <span class="comment">//   |          8-bit shift/latch register        |</span>
-<a name="l00042"></a>00042 <span class="comment">//   |    Qa   Qb   Qc   Qd   Qe   Qf   Qg   Qh   |</span>
+<a name="l00041"></a>00041 <span class="comment">//   |          8-bit shift/latch register        | 74HC595N</span>
+<a name="l00042"></a>00042 <span class="comment">//   |    Qa0  Qb1  Qc2  Qd3  Qe4  Qf5  Qg6  Qh7  |</span>
 <a name="l00043"></a>00043 <span class="comment">//   +----+----+----+----+----+----+----+----+----+</span>
 <a name="l00044"></a>00044 <span class="comment">//        |    |    |    |    |    |    |    </span>
-<a name="l00045"></a>00045 <span class="comment">//        |11  |12  |13  |14  |6   |5   |4    (LCD pins)</span>
+<a name="l00045"></a>00045 <span class="comment">//        |11  |12  |13  |14  |6   |5   |4   (LCD pins)</span>
 <a name="l00046"></a>00046 <span class="comment">//   +----+----+----+----+----+----+----+----+----+</span>
 <a name="l00047"></a>00047 <span class="comment">//   |    DB4  DB5  DB6  DB7  E    Rw   RS        |</span>
 <a name="l00048"></a>00048 <span class="comment">//   |                 LCD Module                 |</span>
 <a name="l00049"></a>00049 <span class="comment">//</span>
-<a name="l00050"></a>00050 <span class="comment">// The functionality provided by this class and its base class is identical</span>
-<a name="l00051"></a>00051 <span class="comment">// to the original functionality of the Arduino LiquidCrystal library.</span>
-<a name="l00052"></a>00052 <span class="comment">//</span>
-<a name="l00053"></a>00053 <span class="comment">//</span>
-<a name="l00054"></a>00054 <span class="comment">// @author F. Malpartida - fmalpartida@gmail.com</span>
-<a name="l00055"></a>00055 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00056"></a>00056 <span class="comment">// flags for backlight control</span>
-<a name="l00057"></a>00057 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
-<a name="l00058"></a>00058 <span class="preprocessor">#include &lt;string.h&gt;</span>
-<a name="l00059"></a>00059 <span class="preprocessor">#include &lt;inttypes.h&gt;</span>
-<a name="l00060"></a>00060 
-<a name="l00061"></a>00061 <span class="preprocessor">#if (ARDUINO &lt;  100)</span>
-<a name="l00062"></a>00062 <span class="preprocessor"></span><span class="preprocessor">#include &lt;WProgram.h&gt;</span>
-<a name="l00063"></a>00063 <span class="preprocessor">#else</span>
-<a name="l00064"></a>00064 <span class="preprocessor"></span><span class="preprocessor">#include &lt;Arduino.h&gt;</span>
-<a name="l00065"></a>00065 <span class="preprocessor">#endif</span>
-<a name="l00066"></a>00066 <span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="_liquid_crystal___s_r3_w_8h.html">LiquidCrystal_SR3W.h</a>&quot;</span>
-<a name="l00067"></a>00067 
-<a name="l00068"></a>00068 <span class="preprocessor">#include &quot;<a class="code" href="_fast_i_o_8h.html">FastIO.h</a>&quot;</span>
+<a name="l00050"></a>00050 <span class="comment">// NOTE: Rw is not used by the driver so it can be connected to GND.</span>
+<a name="l00051"></a>00051 <span class="comment">//</span>
+<a name="l00052"></a>00052 <span class="comment">// The functionality provided by this class and its base class is identical</span>
+<a name="l00053"></a>00053 <span class="comment">// to the original functionality of the Arduino LiquidCrystal library.</span>
+<a name="l00054"></a>00054 <span class="comment">//</span>
+<a name="l00055"></a>00055 <span class="comment">//</span>
+<a name="l00056"></a>00056 <span class="comment">// @author F. Malpartida - fmalpartida@gmail.com</span>
+<a name="l00057"></a>00057 <span class="comment">// ---------------------------------------------------------------------------</span>
+<a name="l00058"></a>00058 <span class="comment">// flags for backlight control</span>
+<a name="l00059"></a>00059 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
+<a name="l00060"></a>00060 <span class="preprocessor">#include &lt;string.h&gt;</span>
+<a name="l00061"></a>00061 <span class="preprocessor">#include &lt;inttypes.h&gt;</span>
+<a name="l00062"></a>00062 
+<a name="l00063"></a>00063 <span class="preprocessor">#if (ARDUINO &lt;  100)</span>
+<a name="l00064"></a>00064 <span class="preprocessor"></span><span class="preprocessor">#include &lt;WProgram.h&gt;</span>
+<a name="l00065"></a>00065 <span class="preprocessor">#else</span>
+<a name="l00066"></a>00066 <span class="preprocessor"></span><span class="preprocessor">#include &lt;Arduino.h&gt;</span>
+<a name="l00067"></a>00067 <span class="preprocessor">#endif</span>
+<a name="l00068"></a>00068 <span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="_liquid_crystal___s_r3_w_8h.html">LiquidCrystal_SR3W.h</a>&quot;</span>
 <a name="l00069"></a>00069 
-<a name="l00075"></a><a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a65fa786d6e31fe8b1aa51784a9736581">00075</a> <span class="preprocessor">#define LCD_NOBACKLIGHT 0x00</span>
-<a name="l00076"></a>00076 <span class="preprocessor"></span>
-<a name="l00082"></a><a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#ac059d24dfe9c1e1f7c07cb7869a1833b">00082</a> <span class="preprocessor">#define LCD_BACKLIGHT   0xFF</span>
-<a name="l00083"></a>00083 <span class="preprocessor"></span>
-<a name="l00084"></a>00084 
-<a name="l00085"></a>00085 <span class="comment">// Default library configuration parameters used by class constructor with</span>
-<a name="l00086"></a>00086 <span class="comment">// only the I2C address field.</span>
-<a name="l00087"></a>00087 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00093"></a><a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a22e6626f2c98ed902f8ded47f6438c05">00093</a> <span class="comment"></span><span class="preprocessor">#define EN 4  // Enable bit</span>
-<a name="l00094"></a>00094 <span class="preprocessor"></span>
-<a name="l00100"></a><a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#afc4ded33ac0ca43defcce639e965748a">00100</a> <span class="preprocessor">#define RW 5  // Read/Write bit</span>
-<a name="l00101"></a>00101 <span class="preprocessor"></span>
-<a name="l00107"></a><a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#af8903d8eea3868940c60af887473b152">00107</a> <span class="preprocessor">#define RS 6  // Register select bit</span>
-<a name="l00108"></a>00108 <span class="preprocessor"></span>
-<a name="l00115"></a><a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a3d9bb178282c3cb69740c94ba1e48fed">00115</a> <span class="preprocessor">#define D4 0</span>
-<a name="l00116"></a><a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a2ddd4183d444d6d128cbdbd6269e4e0c">00116</a> <span class="preprocessor"></span><span class="preprocessor">#define D5 1</span>
-<a name="l00117"></a><a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a79a18a7f5ccf7a7ca31f302bd62527a6">00117</a> <span class="preprocessor"></span><span class="preprocessor">#define D6 2</span>
-<a name="l00118"></a><a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a2ba78f059a7ebebc95e7beef690e88d6">00118</a> <span class="preprocessor"></span><span class="preprocessor">#define D7 3</span>
-<a name="l00119"></a>00119 <span class="preprocessor"></span>
-<a name="l00120"></a>00120 
-<a name="l00121"></a>00121 
-<a name="l00122"></a><a class="code" href="class_liquid_crystal___s_r3_w.html#ae1396bcd5e9c5b7ed13182c166de776b">00122</a> <a class="code" href="class_liquid_crystal___s_r3_w.html#ae1396bcd5e9c5b7ed13182c166de776b">LiquidCrystal_SR3W::LiquidCrystal_SR3W</a>(uint8_t data, uint8_t clk, uint8_t strobe)
-<a name="l00123"></a>00123 {
-<a name="l00124"></a>00124    init( data, clk, strobe, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#af8903d8eea3868940c60af887473b152">RS</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#afc4ded33ac0ca43defcce639e965748a">RW</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a22e6626f2c98ed902f8ded47f6438c05">EN</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a3d9bb178282c3cb69740c94ba1e48fed">D4</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a2ddd4183d444d6d128cbdbd6269e4e0c">D5</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a79a18a7f5ccf7a7ca31f302bd62527a6">D6</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a2ba78f059a7ebebc95e7beef690e88d6">D7</a> );
-<a name="l00125"></a>00125 }
-<a name="l00126"></a>00126 
-<a name="l00127"></a><a class="code" href="class_liquid_crystal___s_r3_w.html#a7b2f382b76bc9d88adb8d681e824b4de">00127</a> <a class="code" href="class_liquid_crystal___s_r3_w.html#ae1396bcd5e9c5b7ed13182c166de776b">LiquidCrystal_SR3W::LiquidCrystal_SR3W</a>(uint8_t data, uint8_t clk, uint8_t strobe,
-<a name="l00128"></a>00128                                        uint8_t backlighPin, <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bc">t_backlighPol</a> pol)
-<a name="l00129"></a>00129 {
-<a name="l00130"></a>00130    init( data, clk, strobe, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#af8903d8eea3868940c60af887473b152">RS</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#afc4ded33ac0ca43defcce639e965748a">RW</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a22e6626f2c98ed902f8ded47f6438c05">EN</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a3d9bb178282c3cb69740c94ba1e48fed">D4</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a2ddd4183d444d6d128cbdbd6269e4e0c">D5</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a79a18a7f5ccf7a7ca31f302bd62527a6">D6</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a2ba78f059a7ebebc95e7beef690e88d6">D7</a> );
-<a name="l00131"></a>00131    <a class="code" href="class_liquid_crystal___s_r3_w.html#a894d0ea8ea61c1d15acd8a26d417e477">setBacklightPin</a>(backlighPin, pol);
-<a name="l00132"></a>00132 }
-<a name="l00133"></a>00133 
-<a name="l00134"></a><a class="code" href="class_liquid_crystal___s_r3_w.html#a4fab8ff2f21bba3efd133cd8c87fffc0">00134</a> <a class="code" href="class_liquid_crystal___s_r3_w.html#ae1396bcd5e9c5b7ed13182c166de776b">LiquidCrystal_SR3W::LiquidCrystal_SR3W</a>(uint8_t data, uint8_t clk, uint8_t strobe,
-<a name="l00135"></a>00135                                        uint8_t En, uint8_t Rw, uint8_t Rs, 
-<a name="l00136"></a>00136                                        uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7 )
-<a name="l00137"></a>00137 {
-<a name="l00138"></a>00138    init( data, clk, strobe, En, Rw, En, d4, d5, d6, d7 );
-<a name="l00139"></a>00139 }
-<a name="l00140"></a>00140 
-<a name="l00141"></a><a class="code" href="class_liquid_crystal___s_r3_w.html#a24f051747dfeda48f7b207c3358c8015">00141</a> <a class="code" href="class_liquid_crystal___s_r3_w.html#ae1396bcd5e9c5b7ed13182c166de776b">LiquidCrystal_SR3W::LiquidCrystal_SR3W</a>(uint8_t data, uint8_t clk, uint8_t strobe, 
-<a name="l00142"></a>00142                                        uint8_t En, uint8_t Rw, uint8_t Rs, 
-<a name="l00143"></a>00143                                        uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7,
-<a name="l00144"></a>00144                                        uint8_t backlighPin, <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bc">t_backlighPol</a> pol)
-<a name="l00145"></a>00145 {
-<a name="l00146"></a>00146    init( data, clk, strobe, En, Rw, En, d4, d5, d6, d7 );
-<a name="l00147"></a>00147    <a class="code" href="class_liquid_crystal___s_r3_w.html#a894d0ea8ea61c1d15acd8a26d417e477">setBacklightPin</a>(backlighPin, pol);
-<a name="l00148"></a>00148 }
-<a name="l00149"></a>00149 
-<a name="l00150"></a>00150 
-<a name="l00151"></a><a class="code" href="class_liquid_crystal___s_r3_w.html#ade34af5b7fe795482f1848c2176d6e56">00151</a> <span class="keywordtype">void</span> <a class="code" href="class_liquid_crystal___s_r3_w.html#ade34af5b7fe795482f1848c2176d6e56">LiquidCrystal_SR3W::send</a>(uint8_t value, uint8_t mode)
-<a name="l00152"></a>00152 {
-<a name="l00153"></a>00153    <span class="comment">// No need to use the delay routines since the time taken to write takes</span>
-<a name="l00154"></a>00154    <span class="comment">// longer that what is needed both for toggling and enable pin an to execute</span>
-<a name="l00155"></a>00155    <span class="comment">// the command.</span>
-<a name="l00156"></a>00156    
-<a name="l00157"></a>00157    <span class="keywordflow">if</span> ( mode == <a class="code" href="_l_c_d_8h.html#aa1e30e32b6c2cf8d90a9281328472dbe">FOUR_BITS</a> )
-<a name="l00158"></a>00158    {
-<a name="l00159"></a>00159       write4bits( (value &amp; 0x0F), <a class="code" href="_l_c_d_8h.html#ab0d87e07831e7e4943caef187872123e">COMMAND</a> );
-<a name="l00160"></a>00160    }
-<a name="l00161"></a>00161    <span class="keywordflow">else</span> 
-<a name="l00162"></a>00162    {
-<a name="l00163"></a>00163       write4bits( (value &gt;&gt; 4), mode );
-<a name="l00164"></a>00164       write4bits( (value &amp; 0x0F), mode);
-<a name="l00165"></a>00165    }   
-<a name="l00166"></a>00166 }
-<a name="l00167"></a>00167 
-<a name="l00168"></a>00168 
-<a name="l00169"></a><a class="code" href="class_liquid_crystal___s_r3_w.html#a894d0ea8ea61c1d15acd8a26d417e477">00169</a> <span class="keywordtype">void</span> <a class="code" href="class_liquid_crystal___s_r3_w.html#a894d0ea8ea61c1d15acd8a26d417e477">LiquidCrystal_SR3W::setBacklightPin</a> ( uint8_t value, <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bc">t_backlighPol</a> pol = <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bca03d440bbbfb042afc85347f994b44fb5">POSITIVE</a> )
-<a name="l00170"></a>00170 {
-<a name="l00171"></a>00171    _backlightPinMask = ( 1 &lt;&lt; value );
-<a name="l00172"></a>00172    _backlightStsMask = <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a65fa786d6e31fe8b1aa51784a9736581">LCD_NOBACKLIGHT</a>;
-<a name="l00173"></a>00173    <a class="code" href="class_l_c_d.html#a990338759d2abe10b0fb1743b7789566">_polarity</a> = pol;
-<a name="l00174"></a>00174    <a class="code" href="class_liquid_crystal___s_r3_w.html#a6d0fc7907ef9fd87c408a21b9bd49295">setBacklight</a> (<a class="code" href="_l_c_d_8h.html#a0f50ae3b4bdb42dd5ad74b2c604a7515">BACKLIGHT_OFF</a>);     <span class="comment">// Set backlight to off as initial setup</span>
-<a name="l00175"></a>00175 }
-<a name="l00176"></a>00176 
-<a name="l00177"></a><a class="code" href="class_liquid_crystal___s_r3_w.html#a6d0fc7907ef9fd87c408a21b9bd49295">00177</a> <span class="keywordtype">void</span> <a class="code" href="class_liquid_crystal___s_r3_w.html#a6d0fc7907ef9fd87c408a21b9bd49295">LiquidCrystal_SR3W::setBacklight</a> ( uint8_t value )
-<a name="l00178"></a>00178 {
-<a name="l00179"></a>00179    <span class="comment">// Check if backlight is available</span>
-<a name="l00180"></a>00180    <span class="comment">// ----------------------------------------------------</span>
-<a name="l00181"></a>00181    <span class="keywordflow">if</span> ( _backlightPinMask != 0x0 )
-<a name="l00182"></a>00182    {
-<a name="l00183"></a>00183       <span class="comment">// Check for polarity to configure mask accordingly</span>
-<a name="l00184"></a>00184       <span class="comment">// ----------------------------------------------------------</span>
-<a name="l00185"></a>00185       <span class="keywordflow">if</span>  (((<a class="code" href="class_l_c_d.html#a990338759d2abe10b0fb1743b7789566">_polarity</a> == <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bca03d440bbbfb042afc85347f994b44fb5">POSITIVE</a>) &amp;&amp; (value &gt; 0)) || 
-<a name="l00186"></a>00186            ((<a class="code" href="class_l_c_d.html#a990338759d2abe10b0fb1743b7789566">_polarity</a> == <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bca62d66a51fa7574c652597716f7709865">NEGATIVE</a> ) &amp;&amp; ( value == 0 )))
-<a name="l00187"></a>00187       {
-<a name="l00188"></a>00188          _backlightStsMask = _backlightPinMask &amp; <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#ac059d24dfe9c1e1f7c07cb7869a1833b">LCD_BACKLIGHT</a>;
-<a name="l00189"></a>00189       }
-<a name="l00190"></a>00190       <span class="keywordflow">else</span> 
-<a name="l00191"></a>00191       {
-<a name="l00192"></a>00192          _backlightStsMask = _backlightPinMask &amp; <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a65fa786d6e31fe8b1aa51784a9736581">LCD_NOBACKLIGHT</a>;
-<a name="l00193"></a>00193       }
-<a name="l00194"></a>00194       loadSR( _backlightStsMask );
-<a name="l00195"></a>00195    }
-<a name="l00196"></a>00196 }
-<a name="l00197"></a>00197 
-<a name="l00198"></a>00198 
-<a name="l00199"></a>00199 <span class="comment">// PRIVATE METHODS</span>
-<a name="l00200"></a>00200 <span class="comment">// -----------------------------------------------------------------------------</span>
-<a name="l00201"></a>00201 
-<a name="l00202"></a>00202 <span class="keywordtype">int</span> LiquidCrystal_SR3W::init(uint8_t data, uint8_t clk, uint8_t strobe, 
-<a name="l00203"></a>00203                              uint8_t Rs, uint8_t Rw, uint8_t En,
-<a name="l00204"></a>00204                              uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7)
-<a name="l00205"></a>00205 {
-<a name="l00206"></a>00206    _data       = <a class="code" href="_fast_i_o_8cpp.html#abe64155b836ffa8a137eb17d17995f84">fio_pinToBit</a>(data);
-<a name="l00207"></a>00207    _clk        = <a class="code" href="_fast_i_o_8cpp.html#abe64155b836ffa8a137eb17d17995f84">fio_pinToBit</a>(clk);
-<a name="l00208"></a>00208    _strobe     = <a class="code" href="_fast_i_o_8cpp.html#abe64155b836ffa8a137eb17d17995f84">fio_pinToBit</a>(strobe);
-<a name="l00209"></a>00209    _data_reg   = <a class="code" href="_fast_i_o_8cpp.html#a04210cc785c3b4a11c86f794949c327f">fio_pinToOutputRegister</a>(data);
-<a name="l00210"></a>00210    _clk_reg    = <a class="code" href="_fast_i_o_8cpp.html#a04210cc785c3b4a11c86f794949c327f">fio_pinToOutputRegister</a>(clk);
-<a name="l00211"></a>00211    _strobe_reg = <a class="code" href="_fast_i_o_8cpp.html#a04210cc785c3b4a11c86f794949c327f">fio_pinToOutputRegister</a>(strobe);
-<a name="l00212"></a>00212    
-<a name="l00213"></a>00213    <span class="comment">// LCD pin mapping</span>
-<a name="l00214"></a>00214    _backlightPinMask = 0;
-<a name="l00215"></a>00215    _backlightStsMask = <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a65fa786d6e31fe8b1aa51784a9736581">LCD_NOBACKLIGHT</a>;
-<a name="l00216"></a>00216    <a class="code" href="class_l_c_d.html#a990338759d2abe10b0fb1743b7789566">_polarity</a> = <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bca03d440bbbfb042afc85347f994b44fb5">POSITIVE</a>;
-<a name="l00217"></a>00217    
-<a name="l00218"></a>00218    _En = ( 1 &lt;&lt; En );
-<a name="l00219"></a>00219    _Rw = ( 1 &lt;&lt; Rw );
-<a name="l00220"></a>00220    _Rs = ( 1 &lt;&lt; Rs );
-<a name="l00221"></a>00221    
-<a name="l00222"></a>00222    <span class="comment">// Initialise pin mapping</span>
-<a name="l00223"></a>00223    _data_pins[0] = ( 1 &lt;&lt; d4 );
-<a name="l00224"></a>00224    _data_pins[1] = ( 1 &lt;&lt; d5 );
-<a name="l00225"></a>00225    _data_pins[2] = ( 1 &lt;&lt; d6 );
-<a name="l00226"></a>00226    _data_pins[3] = ( 1 &lt;&lt; d7 );
-<a name="l00227"></a>00227    
-<a name="l00228"></a>00228    <a class="code" href="class_l_c_d.html#aef093ba3f8e1016267b40ac235a0fa0f">_displayfunction</a> = <a class="code" href="_l_c_d_8h.html#ab8c35d355d2372090c7a347e961c9224">LCD_4BITMODE</a> | <a class="code" href="_l_c_d_8h.html#a8c85cf88d8af66a47c42249d81c94641">LCD_1LINE</a> | <a class="code" href="_l_c_d_8h.html#abb3210156d88d3fe18c9352eb161fe42">LCD_5x10DOTS</a>;
+<a name="l00070"></a>00070 <span class="preprocessor">#include &quot;<a class="code" href="_fast_i_o_8h.html">FastIO.h</a>&quot;</span>
+<a name="l00071"></a>00071 
+<a name="l00077"></a><a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a65fa786d6e31fe8b1aa51784a9736581">00077</a> <span class="preprocessor">#define LCD_NOBACKLIGHT 0x00</span>
+<a name="l00078"></a>00078 <span class="preprocessor"></span>
+<a name="l00084"></a><a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#ac059d24dfe9c1e1f7c07cb7869a1833b">00084</a> <span class="preprocessor">#define LCD_BACKLIGHT   0xFF</span>
+<a name="l00085"></a>00085 <span class="preprocessor"></span>
+<a name="l00086"></a>00086 
+<a name="l00087"></a>00087 <span class="comment">// Default library configuration parameters used by class constructor with</span>
+<a name="l00088"></a>00088 <span class="comment">// only the I2C address field.</span>
+<a name="l00089"></a>00089 <span class="comment">// ---------------------------------------------------------------------------</span>
+<a name="l00095"></a><a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a22e6626f2c98ed902f8ded47f6438c05">00095</a> <span class="comment"></span><span class="preprocessor">#define EN 4  // Enable bit</span>
+<a name="l00096"></a>00096 <span class="preprocessor"></span>
+<a name="l00102"></a><a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#afc4ded33ac0ca43defcce639e965748a">00102</a> <span class="preprocessor">#define RW 5  // Read/Write bit</span>
+<a name="l00103"></a>00103 <span class="preprocessor"></span>
+<a name="l00109"></a><a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#af8903d8eea3868940c60af887473b152">00109</a> <span class="preprocessor">#define RS 6  // Register select bit</span>
+<a name="l00110"></a>00110 <span class="preprocessor"></span>
+<a name="l00117"></a><a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a3d9bb178282c3cb69740c94ba1e48fed">00117</a> <span class="preprocessor">#define D4 0</span>
+<a name="l00118"></a><a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a2ddd4183d444d6d128cbdbd6269e4e0c">00118</a> <span class="preprocessor"></span><span class="preprocessor">#define D5 1</span>
+<a name="l00119"></a><a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a79a18a7f5ccf7a7ca31f302bd62527a6">00119</a> <span class="preprocessor"></span><span class="preprocessor">#define D6 2</span>
+<a name="l00120"></a><a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a2ba78f059a7ebebc95e7beef690e88d6">00120</a> <span class="preprocessor"></span><span class="preprocessor">#define D7 3</span>
+<a name="l00121"></a>00121 <span class="preprocessor"></span>
+<a name="l00122"></a>00122 
+<a name="l00123"></a>00123 
+<a name="l00124"></a><a class="code" href="class_liquid_crystal___s_r3_w.html#ae1396bcd5e9c5b7ed13182c166de776b">00124</a> <a class="code" href="class_liquid_crystal___s_r3_w.html#ae1396bcd5e9c5b7ed13182c166de776b">LiquidCrystal_SR3W::LiquidCrystal_SR3W</a>(uint8_t data, uint8_t clk, uint8_t strobe)
+<a name="l00125"></a>00125 {
+<a name="l00126"></a>00126    init( data, clk, strobe, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#af8903d8eea3868940c60af887473b152">RS</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#afc4ded33ac0ca43defcce639e965748a">RW</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a22e6626f2c98ed902f8ded47f6438c05">EN</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a3d9bb178282c3cb69740c94ba1e48fed">D4</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a2ddd4183d444d6d128cbdbd6269e4e0c">D5</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a79a18a7f5ccf7a7ca31f302bd62527a6">D6</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a2ba78f059a7ebebc95e7beef690e88d6">D7</a> );
+<a name="l00127"></a>00127 }
+<a name="l00128"></a>00128 
+<a name="l00129"></a><a class="code" href="class_liquid_crystal___s_r3_w.html#a7b2f382b76bc9d88adb8d681e824b4de">00129</a> <a class="code" href="class_liquid_crystal___s_r3_w.html#ae1396bcd5e9c5b7ed13182c166de776b">LiquidCrystal_SR3W::LiquidCrystal_SR3W</a>(uint8_t data, uint8_t clk, uint8_t strobe,
+<a name="l00130"></a>00130                                        uint8_t backlighPin, <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bc">t_backlighPol</a> pol)
+<a name="l00131"></a>00131 {
+<a name="l00132"></a>00132    init( data, clk, strobe, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#af8903d8eea3868940c60af887473b152">RS</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#afc4ded33ac0ca43defcce639e965748a">RW</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a22e6626f2c98ed902f8ded47f6438c05">EN</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a3d9bb178282c3cb69740c94ba1e48fed">D4</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a2ddd4183d444d6d128cbdbd6269e4e0c">D5</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a79a18a7f5ccf7a7ca31f302bd62527a6">D6</a>, <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a2ba78f059a7ebebc95e7beef690e88d6">D7</a> );
+<a name="l00133"></a>00133    <a class="code" href="class_liquid_crystal___s_r3_w.html#a894d0ea8ea61c1d15acd8a26d417e477">setBacklightPin</a>(backlighPin, pol);
+<a name="l00134"></a>00134 }
+<a name="l00135"></a>00135 
+<a name="l00136"></a><a class="code" href="class_liquid_crystal___s_r3_w.html#a4fab8ff2f21bba3efd133cd8c87fffc0">00136</a> <a class="code" href="class_liquid_crystal___s_r3_w.html#ae1396bcd5e9c5b7ed13182c166de776b">LiquidCrystal_SR3W::LiquidCrystal_SR3W</a>(uint8_t data, uint8_t clk, uint8_t strobe,
+<a name="l00137"></a>00137                                        uint8_t En, uint8_t Rw, uint8_t Rs, 
+<a name="l00138"></a>00138                                        uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7 )
+<a name="l00139"></a>00139 {
+<a name="l00140"></a>00140    init( data, clk, strobe, En, Rw, En, d4, d5, d6, d7 );
+<a name="l00141"></a>00141 }
+<a name="l00142"></a>00142 
+<a name="l00143"></a><a class="code" href="class_liquid_crystal___s_r3_w.html#a24f051747dfeda48f7b207c3358c8015">00143</a> <a class="code" href="class_liquid_crystal___s_r3_w.html#ae1396bcd5e9c5b7ed13182c166de776b">LiquidCrystal_SR3W::LiquidCrystal_SR3W</a>(uint8_t data, uint8_t clk, uint8_t strobe, 
+<a name="l00144"></a>00144                                        uint8_t En, uint8_t Rw, uint8_t Rs, 
+<a name="l00145"></a>00145                                        uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7,
+<a name="l00146"></a>00146                                        uint8_t backlighPin, <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bc">t_backlighPol</a> pol)
+<a name="l00147"></a>00147 {
+<a name="l00148"></a>00148    init( data, clk, strobe, En, Rw, En, d4, d5, d6, d7 );
+<a name="l00149"></a>00149    <a class="code" href="class_liquid_crystal___s_r3_w.html#a894d0ea8ea61c1d15acd8a26d417e477">setBacklightPin</a>(backlighPin, pol);
+<a name="l00150"></a>00150 }
+<a name="l00151"></a>00151 
+<a name="l00152"></a>00152 
+<a name="l00153"></a><a class="code" href="class_liquid_crystal___s_r3_w.html#ade34af5b7fe795482f1848c2176d6e56">00153</a> <span class="keywordtype">void</span> <a class="code" href="class_liquid_crystal___s_r3_w.html#ade34af5b7fe795482f1848c2176d6e56">LiquidCrystal_SR3W::send</a>(uint8_t value, uint8_t mode)
+<a name="l00154"></a>00154 {
+<a name="l00155"></a>00155    <span class="comment">// No need to use the delay routines since the time taken to write takes</span>
+<a name="l00156"></a>00156    <span class="comment">// longer that what is needed both for toggling and enable pin an to execute</span>
+<a name="l00157"></a>00157    <span class="comment">// the command.</span>
+<a name="l00158"></a>00158    
+<a name="l00159"></a>00159    <span class="keywordflow">if</span> ( mode == <a class="code" href="_l_c_d_8h.html#aa1e30e32b6c2cf8d90a9281328472dbe">FOUR_BITS</a> )
+<a name="l00160"></a>00160    {
+<a name="l00161"></a>00161       write4bits( (value &amp; 0x0F), <a class="code" href="_l_c_d_8h.html#ab0d87e07831e7e4943caef187872123e">COMMAND</a> );
+<a name="l00162"></a>00162    }
+<a name="l00163"></a>00163    <span class="keywordflow">else</span> 
+<a name="l00164"></a>00164    {
+<a name="l00165"></a>00165       write4bits( (value &gt;&gt; 4), mode );
+<a name="l00166"></a>00166       write4bits( (value &amp; 0x0F), mode);
+<a name="l00167"></a>00167    }   
+<a name="l00168"></a>00168 }
+<a name="l00169"></a>00169 
+<a name="l00170"></a>00170 
+<a name="l00171"></a><a class="code" href="class_liquid_crystal___s_r3_w.html#a894d0ea8ea61c1d15acd8a26d417e477">00171</a> <span class="keywordtype">void</span> <a class="code" href="class_liquid_crystal___s_r3_w.html#a894d0ea8ea61c1d15acd8a26d417e477">LiquidCrystal_SR3W::setBacklightPin</a> ( uint8_t value, <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bc">t_backlighPol</a> pol = <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bca03d440bbbfb042afc85347f994b44fb5">POSITIVE</a> )
+<a name="l00172"></a>00172 {
+<a name="l00173"></a>00173    _backlightPinMask = ( 1 &lt;&lt; value );
+<a name="l00174"></a>00174    _backlightStsMask = <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a65fa786d6e31fe8b1aa51784a9736581">LCD_NOBACKLIGHT</a>;
+<a name="l00175"></a>00175    <a class="code" href="class_l_c_d.html#a990338759d2abe10b0fb1743b7789566">_polarity</a> = pol;
+<a name="l00176"></a>00176    <a class="code" href="class_liquid_crystal___s_r3_w.html#a6d0fc7907ef9fd87c408a21b9bd49295">setBacklight</a> (<a class="code" href="_l_c_d_8h.html#a0f50ae3b4bdb42dd5ad74b2c604a7515">BACKLIGHT_OFF</a>);     <span class="comment">// Set backlight to off as initial setup</span>
+<a name="l00177"></a>00177 }
+<a name="l00178"></a>00178 
+<a name="l00179"></a><a class="code" href="class_liquid_crystal___s_r3_w.html#a6d0fc7907ef9fd87c408a21b9bd49295">00179</a> <span class="keywordtype">void</span> <a class="code" href="class_liquid_crystal___s_r3_w.html#a6d0fc7907ef9fd87c408a21b9bd49295">LiquidCrystal_SR3W::setBacklight</a> ( uint8_t value )
+<a name="l00180"></a>00180 {
+<a name="l00181"></a>00181    <span class="comment">// Check if backlight is available</span>
+<a name="l00182"></a>00182    <span class="comment">// ----------------------------------------------------</span>
+<a name="l00183"></a>00183    <span class="keywordflow">if</span> ( _backlightPinMask != 0x0 )
+<a name="l00184"></a>00184    {
+<a name="l00185"></a>00185       <span class="comment">// Check for polarity to configure mask accordingly</span>
+<a name="l00186"></a>00186       <span class="comment">// ----------------------------------------------------------</span>
+<a name="l00187"></a>00187       <span class="keywordflow">if</span>  (((<a class="code" href="class_l_c_d.html#a990338759d2abe10b0fb1743b7789566">_polarity</a> == <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bca03d440bbbfb042afc85347f994b44fb5">POSITIVE</a>) &amp;&amp; (value &gt; 0)) || 
+<a name="l00188"></a>00188            ((<a class="code" href="class_l_c_d.html#a990338759d2abe10b0fb1743b7789566">_polarity</a> == <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bca62d66a51fa7574c652597716f7709865">NEGATIVE</a> ) &amp;&amp; ( value == 0 )))
+<a name="l00189"></a>00189       {
+<a name="l00190"></a>00190          _backlightStsMask = _backlightPinMask &amp; <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#ac059d24dfe9c1e1f7c07cb7869a1833b">LCD_BACKLIGHT</a>;
+<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          _backlightStsMask = _backlightPinMask &amp; <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a65fa786d6e31fe8b1aa51784a9736581">LCD_NOBACKLIGHT</a>;
+<a name="l00195"></a>00195       }
+<a name="l00196"></a>00196       loadSR( _backlightStsMask );
+<a name="l00197"></a>00197    }
+<a name="l00198"></a>00198 }
+<a name="l00199"></a>00199 
+<a name="l00200"></a>00200 
+<a name="l00201"></a>00201 <span class="comment">// PRIVATE METHODS</span>
+<a name="l00202"></a>00202 <span class="comment">// -----------------------------------------------------------------------------</span>
+<a name="l00203"></a>00203 
+<a name="l00204"></a>00204 <span class="keywordtype">int</span> LiquidCrystal_SR3W::init(uint8_t data, uint8_t clk, uint8_t strobe, 
+<a name="l00205"></a>00205                              uint8_t Rs, uint8_t Rw, uint8_t En,
+<a name="l00206"></a>00206                              uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7)
+<a name="l00207"></a>00207 {
+<a name="l00208"></a>00208    _data       = <a class="code" href="_fast_i_o_8cpp.html#a07a19dfbdca1afaca5d666bdaa3be7d5">fio_pinToBit</a>(data);
+<a name="l00209"></a>00209    _clk        = <a class="code" href="_fast_i_o_8cpp.html#a07a19dfbdca1afaca5d666bdaa3be7d5">fio_pinToBit</a>(clk);
+<a name="l00210"></a>00210    _strobe     = <a class="code" href="_fast_i_o_8cpp.html#a07a19dfbdca1afaca5d666bdaa3be7d5">fio_pinToBit</a>(strobe);
+<a name="l00211"></a>00211    _data_reg   = <a class="code" href="_fast_i_o_8cpp.html#a04210cc785c3b4a11c86f794949c327f">fio_pinToOutputRegister</a>(data);
+<a name="l00212"></a>00212    _clk_reg    = <a class="code" href="_fast_i_o_8cpp.html#a04210cc785c3b4a11c86f794949c327f">fio_pinToOutputRegister</a>(clk);
+<a name="l00213"></a>00213    _strobe_reg = <a class="code" href="_fast_i_o_8cpp.html#a04210cc785c3b4a11c86f794949c327f">fio_pinToOutputRegister</a>(strobe);
+<a name="l00214"></a>00214    
+<a name="l00215"></a>00215    <span class="comment">// LCD pin mapping</span>
+<a name="l00216"></a>00216    _backlightPinMask = 0;
+<a name="l00217"></a>00217    _backlightStsMask = <a class="code" href="_liquid_crystal___s_r3_w_8cpp.html#a65fa786d6e31fe8b1aa51784a9736581">LCD_NOBACKLIGHT</a>;
+<a name="l00218"></a>00218    <a class="code" href="class_l_c_d.html#a990338759d2abe10b0fb1743b7789566">_polarity</a> = <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bca03d440bbbfb042afc85347f994b44fb5">POSITIVE</a>;
+<a name="l00219"></a>00219    
+<a name="l00220"></a>00220    _En = ( 1 &lt;&lt; En );
+<a name="l00221"></a>00221    _Rw = ( 1 &lt;&lt; Rw );
+<a name="l00222"></a>00222    _Rs = ( 1 &lt;&lt; Rs );
+<a name="l00223"></a>00223    
+<a name="l00224"></a>00224    <span class="comment">// Initialise pin mapping</span>
+<a name="l00225"></a>00225    _data_pins[0] = ( 1 &lt;&lt; d4 );
+<a name="l00226"></a>00226    _data_pins[1] = ( 1 &lt;&lt; d5 );
+<a name="l00227"></a>00227    _data_pins[2] = ( 1 &lt;&lt; d6 );
+<a name="l00228"></a>00228    _data_pins[3] = ( 1 &lt;&lt; d7 );
 <a name="l00229"></a>00229    
-<a name="l00230"></a>00230    <span class="keywordflow">return</span> (1);
-<a name="l00231"></a>00231 }
-<a name="l00232"></a>00232 
-<a name="l00233"></a>00233 <span class="keywordtype">void</span> LiquidCrystal_SR3W::write4bits(uint8_t value, uint8_t mode)
-<a name="l00234"></a>00234 {
-<a name="l00235"></a>00235    uint8_t pinMapValue = 0;
-<a name="l00236"></a>00236    
-<a name="l00237"></a>00237    <span class="comment">// Map the value to LCD pin mapping</span>
-<a name="l00238"></a>00238    <span class="comment">// --------------------------------</span>
-<a name="l00239"></a>00239    <span class="keywordflow">for</span> ( uint8_t i = 0; i &lt; 4; i++ )
-<a name="l00240"></a>00240    {
-<a name="l00241"></a>00241       <span class="keywordflow">if</span> ( ( value &amp; 0x1 ) == 1 )
-<a name="l00242"></a>00242       {
-<a name="l00243"></a>00243          pinMapValue |= _data_pins[i];
-<a name="l00244"></a>00244       }
-<a name="l00245"></a>00245       value = ( value &gt;&gt; 1 );
-<a name="l00246"></a>00246    }
-<a name="l00247"></a>00247    
-<a name="l00248"></a>00248    <span class="comment">// Is it a command or data</span>
-<a name="l00249"></a>00249    <span class="comment">// -----------------------</span>
-<a name="l00250"></a>00250    <span class="keywordflow">if</span> ( mode == <a class="code" href="_l_c_d_8h.html#aad9ae913bdfab20dd94ad04ee2d5b045">DATA</a> )
-<a name="l00251"></a>00251    {
-<a name="l00252"></a>00252       mode = _Rs;
-<a name="l00253"></a>00253    }
-<a name="l00254"></a>00254    
-<a name="l00255"></a>00255    pinMapValue |= mode | _backlightStsMask;
-<a name="l00256"></a>00256    loadSR ( pinMapValue | _En );  <span class="comment">// Send with enable high</span>
-<a name="l00257"></a>00257    loadSR ( pinMapValue &amp; ~_En ); <span class="comment">// Send with enable low</span>
-<a name="l00258"></a>00258 }
-<a name="l00259"></a>00259 
-<a name="l00260"></a>00260 
-<a name="l00261"></a>00261 <span class="keywordtype">void</span> LiquidCrystal_SR3W::loadSR(uint8_t value) 
-<a name="l00262"></a>00262 {
-<a name="l00263"></a>00263    <span class="comment">// Load the shift register with information</span>
-<a name="l00264"></a>00264    <a class="code" href="_fast_i_o_8cpp.html#a56c72b9f00680662229895ab22aaa743">fio_shiftOut</a>(_data_reg, _data, _clk_reg, _clk, value, MSBFIRST);
-<a name="l00265"></a>00265    
-<a name="l00266"></a>00266    <span class="comment">// Strobe the data into the latch</span>
-<a name="l00267"></a>00267    <a class="code" href="_fast_i_o_8h.html#a04971fe5fabe4129736708c494e08e6d">ATOMIC_BLOCK</a>(<a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a>)
-<a name="l00268"></a>00268    {
-<a name="l00269"></a>00269       <a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">fio_digitalWrite_HIGH</a>(_strobe_reg, _strobe);
-<a name="l00270"></a>00270       <a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">fio_digitalWrite_SWITCHTO</a>(_strobe_reg, _strobe, LOW);
-<a name="l00271"></a>00271    }
-<a name="l00272"></a>00272    <a class="code" href="_l_c_d_8h.html#a6eac41e4be58d7736ac0c19de225c0dc">waitUsec</a>( 40 ); <span class="comment">// commands need &gt; 37us to settle</span>
-<a name="l00273"></a>00273 }
+<a name="l00230"></a>00230    <a class="code" href="class_l_c_d.html#aef093ba3f8e1016267b40ac235a0fa0f">_displayfunction</a> = <a class="code" href="_l_c_d_8h.html#ab8c35d355d2372090c7a347e961c9224">LCD_4BITMODE</a> | <a class="code" href="_l_c_d_8h.html#a8c85cf88d8af66a47c42249d81c94641">LCD_1LINE</a> | <a class="code" href="_l_c_d_8h.html#abb3210156d88d3fe18c9352eb161fe42">LCD_5x10DOTS</a>;
+<a name="l00231"></a>00231    
+<a name="l00232"></a>00232    <span class="keywordflow">return</span> (1);
+<a name="l00233"></a>00233 }
+<a name="l00234"></a>00234 
+<a name="l00235"></a>00235 <span class="keywordtype">void</span> LiquidCrystal_SR3W::write4bits(uint8_t value, uint8_t mode)
+<a name="l00236"></a>00236 {
+<a name="l00237"></a>00237    uint8_t pinMapValue = 0;
+<a name="l00238"></a>00238    
+<a name="l00239"></a>00239    <span class="comment">// Map the value to LCD pin mapping</span>
+<a name="l00240"></a>00240    <span class="comment">// --------------------------------</span>
+<a name="l00241"></a>00241    <span class="keywordflow">for</span> ( uint8_t i = 0; i &lt; 4; i++ )
+<a name="l00242"></a>00242    {
+<a name="l00243"></a>00243       <span class="keywordflow">if</span> ( ( value &amp; 0x1 ) == 1 )
+<a name="l00244"></a>00244       {
+<a name="l00245"></a>00245          pinMapValue |= _data_pins[i];
+<a name="l00246"></a>00246       }
+<a name="l00247"></a>00247       value = ( value &gt;&gt; 1 );
+<a name="l00248"></a>00248    }
+<a name="l00249"></a>00249    
+<a name="l00250"></a>00250    <span class="comment">// Is it a command or data</span>
+<a name="l00251"></a>00251    <span class="comment">// -----------------------</span>
+<a name="l00252"></a>00252    <span class="keywordflow">if</span> ( mode == <a class="code" href="_l_c_d_8h.html#aad9ae913bdfab20dd94ad04ee2d5b045">DATA</a> )
+<a name="l00253"></a>00253    {
+<a name="l00254"></a>00254       mode = _Rs;
+<a name="l00255"></a>00255    }
+<a name="l00256"></a>00256    
+<a name="l00257"></a>00257    pinMapValue |= mode | _backlightStsMask;
+<a name="l00258"></a>00258    loadSR ( pinMapValue | _En );  <span class="comment">// Send with enable high</span>
+<a name="l00259"></a>00259    loadSR ( pinMapValue &amp; ~_En ); <span class="comment">// Send with enable low</span>
+<a name="l00260"></a>00260 }
+<a name="l00261"></a>00261 
+<a name="l00262"></a>00262 
+<a name="l00263"></a>00263 <span class="keywordtype">void</span> LiquidCrystal_SR3W::loadSR(uint8_t value) 
+<a name="l00264"></a>00264 {
+<a name="l00265"></a>00265    <span class="comment">// Load the shift register with information</span>
+<a name="l00266"></a>00266    <a class="code" href="_fast_i_o_8cpp.html#a56c72b9f00680662229895ab22aaa743">fio_shiftOut</a>(_data_reg, _data, _clk_reg, _clk, value, MSBFIRST);
+<a name="l00267"></a>00267    
+<a name="l00268"></a>00268    <span class="comment">// Strobe the data into the latch</span>
+<a name="l00269"></a>00269    <a class="code" href="_fast_i_o_8h.html#a04971fe5fabe4129736708c494e08e6d">ATOMIC_BLOCK</a>(<a class="code" href="_fast_i_o_8h.html#a362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a>)
+<a name="l00270"></a>00270    {
+<a name="l00271"></a>00271       <a class="code" href="_fast_i_o_8h.html#a89e1c62276052100c62b6c82a2e95622">fio_digitalWrite_HIGH</a>(_strobe_reg, _strobe);
+<a name="l00272"></a>00272       <a class="code" href="_fast_i_o_8h.html#accae9687fdfc5f3492fb6344d62eb190">fio_digitalWrite_SWITCHTO</a>(_strobe_reg, _strobe, LOW);
+<a name="l00273"></a>00273    }
+<a name="l00274"></a>00274    <a class="code" href="_l_c_d_8h.html#a6eac41e4be58d7736ac0c19de225c0dc">waitUsec</a>( 40 ); <span class="comment">// commands need &gt; 37us to settle</span>
+<a name="l00275"></a>00275 }
 </pre></div></div>
 </div>
 <!-- window showing the filter options -->
 </iframe>
 </div>
 
-<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 23 2012 20:38:55 for LCD Library by&#160;
 <a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
 </body>