F Malpartida avatar F Malpartida committed c5879ff

Closes #20 - remove wait 1us during interrupt masking in loadSR. Not needed.
Closes #19 - Added support for on/off commands
Closes #18 - Set backlight initial state during initialization to off.
Closes #17 - New SR3W class.
Added documentation for new class
Move some methods for the public interface of the LCD class to private, since they should never be called by the user.

Comments (0)

Files changed (70)

    setBacklight(0);
 }
 
+//
+// Switch fully on the LCD (backlight and LCD)
+void LCD::on ( void )
+{
+   display();
+   backlight();
+}
+
+//
+// Switch fully off the LCD (backlight and LCD) 
+void LCD::off ( void )
+{
+   noBacklight();
+   noDisplay();
+}
+
 // General LCD commands - generic methods used by the rest of the commands
 // ---------------------------------------------------------------------------
 void LCD::command(uint8_t value) 
 #define DATA                    1
 #define FOUR_BITS               2
 
+
 /*!
  @defined 
  @abstract   Defines the duration of the home and clear commands
 #define HOME_CLEAR_EXEC      2000
 
 /*!
+    @defined 
+    @abstract   Backlight off constant declaration
+    @discussion Used in combination with the setBacklight to swith off the
+ LCD backlight. @set setBacklight
+*/
+#define BACKLIGHT_OFF           0
+
+/*!
+ @defined 
+ @abstract   Backlight on constant declaration
+ @discussion Used in combination with the setBacklight to swith on the
+ LCD backlight. @set setBacklight
+ */
+#define BACKLIGHT_ON          255
+
+
+/*!
  @typedef 
  @abstract   Define backlight control polarity
  @discussion Backlight control polarity. @see setBacklightPin.
     */
    void setCursor(uint8_t col, uint8_t row);
    
+   /*!
+    @function
+    @abstract   Switch-on the LCD backlight.
+    @discussion Switch-on the LCD backlight.
+    The setBacklightPin has to be called before setting the backlight for
+    this method to work. @see setBacklightPin. 
+    */
+   void backlight ( void );
    
    /*!
     @function
-    @abstract   Send a command to the LCD.
-    @discussion This method sends a command to the LCD by setting the Register
-    select line of the LCD.
-    
-    This command shouldn't be used to drive the LCD, only to implement any other
-    feature that is not available on this library.
-    
-    @param      value[in] Command value to send to the LCD.
+    @abstract   Switch-off the LCD backlight.
+    @discussion Switch-off the LCD backlight.
+    The setBacklightPin has to be called before setting the backlight for
+    this method to work. @see setBacklightPin. 
+    */   
+   void noBacklight ( void );
+   
+   /*!
+    @function
+    @abstract   Switch on the LCD module.
+    @discussion Switch on the LCD module, it will switch on the LCD controller
+    and the backlight. This method has the same effect of calling display and
+    backlight. @see display, @see backlight
     */
-   void command(uint8_t value);
+   void on ( void );
+
+   /*!
+    @function
+    @abstract   Switch off the LCD module.
+    @discussion Switch off the LCD module, it will switch off the LCD controller
+    and the backlight. This method has the same effect of calling noDisplay and
+    noBacklight. @see display, @see backlight
+    */   
+   void off ( void );
    
    //
    // virtual class methods
    
    /*!
     @function
-    @abstract   Switch-on the LCD backlight.
-    @discussion Switch-on the LCD backlight.
-    The setBacklightPin has to be called before setting the backlight for
-    this method to work. @see setBacklightPin. 
-    */
-   void backlight ( void );
-   
-   /*!
-    @function
-    @abstract   Switch-off the LCD backlight.
-    @discussion Switch-off the LCD backlight.
-    The setBacklightPin has to be called before setting the backlight for
-    this method to work. @see setBacklightPin. 
-    */   
-   void noBacklight ( void );
-   
-   /*!
-    @function
     @abstract   Writes to the LCD.
     @discussion This method writes character to the LCD in the current cursor
     position.
    virtual size_t write(uint8_t value);
 #endif
    
-   
-   /*!
-    @function
-    @abstract   Send a particular value to the LCD.
-    @discussion Sends a particular value to the LCD. This is a pure abstract
-    method, therefore, it is implementation dependent of each derived class how
-    to physically write to the LCD.
-    
-    Users should never call this method.
-    
-    @param      value[in] Value to send to the LCD.
-    @result     mode LOW - write to the LCD CGRAM, HIGH - write a command to
-    the LCD.
-    */
-#if (ARDUINO <  100)
-   virtual void send(uint8_t value, uint8_t mode) { };
-#else
-   virtual void send(uint8_t value, uint8_t mode) = 0;
-#endif
-   
 #if (ARDUINO <  100)
    using Print::write;
 #else
    t_backlighPol _polarity;   // Backlight polarity
    
 private:
+   /*!
+    @function
+    @abstract   Send a command to the LCD.
+    @discussion This method sends a command to the LCD by setting the Register
+    select line of the LCD.
+    
+    This command shouldn't be used to drive the LCD, only to implement any other
+    feature that is not available on this library.
+    
+    @param      value[in] Command value to send to the LCD.
+    */
+   void command(uint8_t value);
+
+   /*!
+    @function
+    @abstract   Send a particular value to the LCD.
+    @discussion Sends a particular value to the LCD. This is a pure abstract
+    method, therefore, it is implementation dependent of each derived class how
+    to physically write to the LCD.
+    
+    Users should never call this method.
+    
+    @param      value[in] Value to send to the LCD.
+    @result     mode LOW - write to the LCD CGRAM, HIGH - write a command to
+    the LCD.
+    */
+#if (ARDUINO <  100)
+   virtual void send(uint8_t value, uint8_t mode) { };
+#else
+   virtual void send(uint8_t value, uint8_t mode) = 0;
+#endif
    
 };
 

LiquidCrystal.cpp

 // setBacklightPin
 void LiquidCrystal::setBacklightPin ( uint8_t pin, t_backlighPol pol )
 {
-   pinMode ( pin, OUTPUT ); // Difine the backlight pin as output
+   pinMode ( pin, OUTPUT );       // Difine the backlight pin as output
    _backlightPin = pin;
    _polarity = pol;
+   setBacklight(BACKLIGHT_OFF);   // Set the backlight low by default
 }
 
 //

LiquidCrystal_I2C.cpp

 {
    _backlightPinMask = ( 1 << value );
    _polarity = pol;
+   setBacklight(BACKLIGHT_OFF);
 }
 
 //

LiquidCrystal_SR.cpp

    // to read the Enable pulse, and then reads the new contents of the SR.
    ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    {
-      fio_digitalWrite_HIGH(_srEnableRegister, _srEnableBit);
-      waitUsec (1);         // enable pulse must be >450ns               
+      fio_digitalWrite_HIGH(_srEnableRegister, _srEnableBit);            
       fio_digitalWrite_SWITCHTO(_srEnableRegister, _srEnableBit, LOW);
    } // end critical section
    waitUsec ( 37 );      // commands need > 37us to settle

LiquidCrystal_SR3W.cpp

    _backlightPinMask = ( 1 << value );
    _backlightStsMask = LCD_NOBACKLIGHT;
    _polarity = pol;
+   setBacklight (BACKLIGHT_OFF);     // Set backlight to off as initial setup
 }
 
 void LiquidCrystal_SR3W::setBacklight ( uint8_t value )
    ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    {
       fio_digitalWrite_HIGH(_strobe_reg, _strobe);
-      waitUsec( 1 ); // strobe pulse must be >450ns
       fio_digitalWrite_SWITCHTO(_strobe_reg, _strobe, LOW);
    }
    waitUsec( 40 ); // commands need > 37us to settle

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.1</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</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 Wed Mar 14 2012 00:39:12 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 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.1</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</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 Wed Mar 14 2012 00:39:12 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 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.1</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</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 Wed Mar 14 2012 00:39:12 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 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.1</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</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 Wed Mar 14 2012 00:39:12 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 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.1</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</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 Wed Mar 14 2012 00:39:12 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 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.1</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</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 Wed Mar 14 2012 00:39:12 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 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.1</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</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 Wed Mar 14 2012 00:39:12 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 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.1</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</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 Wed Mar 14 2012 00:39:12 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 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.1</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</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 Wed Mar 14 2012 00:39:12 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 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.1</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</span></div>
    <div id="projectbrief">LCD Library - LCD control class hierarchy library. Drop in replacement for the LiquidCrystal Library.</div>
   </td>
  </tr>
 <a name="l00103"></a>00103       <span class="comment">// figure 24, pg 46</span>
 <a name="l00104"></a>00104       
 <a name="l00105"></a>00105       <span class="comment">// we start in 8bit mode, try to set 4 bit mode</span>
-<a name="l00106"></a>00106       <a class="code" href="class_l_c_d.html#a8a5b6f6f448a6ca6eeb3466c370d47ab">send</a>(0x03, <a class="code" href="_l_c_d_8h.html#aa1e30e32b6c2cf8d90a9281328472dbe">FOUR_BITS</a>);
+<a name="l00106"></a>00106       send(0x03, <a class="code" href="_l_c_d_8h.html#aa1e30e32b6c2cf8d90a9281328472dbe">FOUR_BITS</a>);
 <a name="l00107"></a>00107       delayMicroseconds(4500); <span class="comment">// wait min 4.1ms</span>
 <a name="l00108"></a>00108       
 <a name="l00109"></a>00109       <span class="comment">// second try</span>
-<a name="l00110"></a>00110       <a class="code" href="class_l_c_d.html#a8a5b6f6f448a6ca6eeb3466c370d47ab">send</a> ( 0x03, <a class="code" href="_l_c_d_8h.html#aa1e30e32b6c2cf8d90a9281328472dbe">FOUR_BITS</a> );
+<a name="l00110"></a>00110       send ( 0x03, <a class="code" href="_l_c_d_8h.html#aa1e30e32b6c2cf8d90a9281328472dbe">FOUR_BITS</a> );
 <a name="l00111"></a>00111       delayMicroseconds(4500); <span class="comment">// wait min 4.1ms</span>
 <a name="l00112"></a>00112       
 <a name="l00113"></a>00113       <span class="comment">// third go!</span>
-<a name="l00114"></a>00114       <a class="code" href="class_l_c_d.html#a8a5b6f6f448a6ca6eeb3466c370d47ab">send</a>( 0x03, <a class="code" href="_l_c_d_8h.html#aa1e30e32b6c2cf8d90a9281328472dbe">FOUR_BITS</a> );
+<a name="l00114"></a>00114       send( 0x03, <a class="code" href="_l_c_d_8h.html#aa1e30e32b6c2cf8d90a9281328472dbe">FOUR_BITS</a> );
 <a name="l00115"></a>00115       delayMicroseconds(150);
 <a name="l00116"></a>00116       
 <a name="l00117"></a>00117       <span class="comment">// finally, set to 4-bit interface</span>
-<a name="l00118"></a>00118       <a class="code" href="class_l_c_d.html#a8a5b6f6f448a6ca6eeb3466c370d47ab">send</a> ( 0x02, <a class="code" href="_l_c_d_8h.html#aa1e30e32b6c2cf8d90a9281328472dbe">FOUR_BITS</a> ); 
+<a name="l00118"></a>00118       send ( 0x02, <a class="code" href="_l_c_d_8h.html#aa1e30e32b6c2cf8d90a9281328472dbe">FOUR_BITS</a> ); 
 <a name="l00119"></a>00119    } 
 <a name="l00120"></a>00120    <span class="keywordflow">else</span> 
 <a name="l00121"></a>00121    {
 <a name="l00123"></a>00123       <span class="comment">// page 45 figure 23</span>
 <a name="l00124"></a>00124       
 <a name="l00125"></a>00125       <span class="comment">// Send function set command sequence</span>
-<a name="l00126"></a>00126       <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#aaef882ae70d1f485cd132815d9716111">LCD_FUNCTIONSET</a> | <a class="code" href="class_l_c_d.html#aef093ba3f8e1016267b40ac235a0fa0f">_displayfunction</a>);
+<a name="l00126"></a>00126       command(<a class="code" href="_l_c_d_8h.html#aaef882ae70d1f485cd132815d9716111">LCD_FUNCTIONSET</a> | <a class="code" href="class_l_c_d.html#aef093ba3f8e1016267b40ac235a0fa0f">_displayfunction</a>);
 <a name="l00127"></a>00127       delayMicroseconds(4500);  <span class="comment">// wait more than 4.1ms</span>
 <a name="l00128"></a>00128       
 <a name="l00129"></a>00129       <span class="comment">// second try</span>
-<a name="l00130"></a>00130       <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#aaef882ae70d1f485cd132815d9716111">LCD_FUNCTIONSET</a> | <a class="code" href="class_l_c_d.html#aef093ba3f8e1016267b40ac235a0fa0f">_displayfunction</a>);
+<a name="l00130"></a>00130       command(<a class="code" href="_l_c_d_8h.html#aaef882ae70d1f485cd132815d9716111">LCD_FUNCTIONSET</a> | <a class="code" href="class_l_c_d.html#aef093ba3f8e1016267b40ac235a0fa0f">_displayfunction</a>);
 <a name="l00131"></a>00131       delayMicroseconds(150);
 <a name="l00132"></a>00132       
 <a name="l00133"></a>00133       <span class="comment">// third go</span>
-<a name="l00134"></a>00134       <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#aaef882ae70d1f485cd132815d9716111">LCD_FUNCTIONSET</a> | <a class="code" href="class_l_c_d.html#aef093ba3f8e1016267b40ac235a0fa0f">_displayfunction</a>);
+<a name="l00134"></a>00134       command(<a class="code" href="_l_c_d_8h.html#aaef882ae70d1f485cd132815d9716111">LCD_FUNCTIONSET</a> | <a class="code" href="class_l_c_d.html#aef093ba3f8e1016267b40ac235a0fa0f">_displayfunction</a>);
 <a name="l00135"></a>00135    }
 <a name="l00136"></a>00136    
 <a name="l00137"></a>00137    <span class="comment">// finally, set # lines, font size, etc.</span>
-<a name="l00138"></a>00138    <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#aaef882ae70d1f485cd132815d9716111">LCD_FUNCTIONSET</a> | <a class="code" href="class_l_c_d.html#aef093ba3f8e1016267b40ac235a0fa0f">_displayfunction</a>);  
+<a name="l00138"></a>00138    command(<a class="code" href="_l_c_d_8h.html#aaef882ae70d1f485cd132815d9716111">LCD_FUNCTIONSET</a> | <a class="code" href="class_l_c_d.html#aef093ba3f8e1016267b40ac235a0fa0f">_displayfunction</a>);  
 <a name="l00139"></a>00139    
 <a name="l00140"></a>00140    <span class="comment">// turn the display on with no cursor or blinking default</span>
 <a name="l00141"></a>00141    <a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">_displaycontrol</a> = <a class="code" href="_l_c_d_8h.html#a76236ae8317b34bbc98ea56bc0a2639c">LCD_DISPLAYON</a> | <a class="code" href="_l_c_d_8h.html#a32b194a3adaa0a0bb69acee2e6a754fa">LCD_CURSOROFF</a> | <a class="code" href="_l_c_d_8h.html#a4b28243034cec656b0ed490ba6979752">LCD_BLINKOFF</a>;  
 <a name="l00147"></a>00147    <span class="comment">// Initialize to default text direction (for romance languages)</span>
 <a name="l00148"></a>00148    <a class="code" href="class_l_c_d.html#a726b9a68d091dd8683a18e83f3a8fd3c">_displaymode</a> = <a class="code" href="_l_c_d_8h.html#ae7c6309fce6200bd7526d090a4a84dd0">LCD_ENTRYLEFT</a> | <a class="code" href="_l_c_d_8h.html#a049ee97e98d04788c1da9a55590fbe42">LCD_ENTRYSHIFTDECREMENT</a>;
 <a name="l00149"></a>00149    <span class="comment">// set the entry mode</span>
-<a name="l00150"></a>00150    <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#a5597e1d5819ea2f0734ad4313abf6703">LCD_ENTRYMODESET</a> | <a class="code" href="class_l_c_d.html#a726b9a68d091dd8683a18e83f3a8fd3c">_displaymode</a>);
+<a name="l00150"></a>00150    command(<a class="code" href="_l_c_d_8h.html#a5597e1d5819ea2f0734ad4313abf6703">LCD_ENTRYMODESET</a> | <a class="code" href="class_l_c_d.html#a726b9a68d091dd8683a18e83f3a8fd3c">_displaymode</a>);
 <a name="l00151"></a>00151    
 <a name="l00152"></a>00152 }
 <a name="l00153"></a>00153 
 <a name="l00155"></a>00155 <span class="comment">// ---------------------------------------------------------------------------</span>
 <a name="l00156"></a><a class="code" href="class_l_c_d.html#afa699e0beeeee03cce8cef87eba81c4a">00156</a> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#afa699e0beeeee03cce8cef87eba81c4a">LCD::clear</a>()
 <a name="l00157"></a>00157 {
-<a name="l00158"></a>00158    <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#acc3509bc0442b41e2b816555de473ed2">LCD_CLEARDISPLAY</a>);             <span class="comment">// clear display, set cursor position to zero</span>
+<a name="l00158"></a>00158    command(<a class="code" href="_l_c_d_8h.html#acc3509bc0442b41e2b816555de473ed2">LCD_CLEARDISPLAY</a>);             <span class="comment">// clear display, set cursor position to zero</span>
 <a name="l00159"></a>00159    delayMicroseconds(<a class="code" href="_l_c_d_8h.html#ad25b138788d83e67f840588754e2df2f">HOME_CLEAR_EXEC</a>);    <span class="comment">// this command is time consuming</span>
 <a name="l00160"></a>00160 }
 <a name="l00161"></a>00161 
 <a name="l00162"></a><a class="code" href="class_l_c_d.html#aee45ad37f09312f5d9982257e2d37e68">00162</a> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#aee45ad37f09312f5d9982257e2d37e68">LCD::home</a>()
 <a name="l00163"></a>00163 {
-<a name="l00164"></a>00164    <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#a154c86a887633d0f6d9988e4dbb1f419">LCD_RETURNHOME</a>);             <span class="comment">// set cursor position to zero</span>
+<a name="l00164"></a>00164    command(<a class="code" href="_l_c_d_8h.html#a154c86a887633d0f6d9988e4dbb1f419">LCD_RETURNHOME</a>);             <span class="comment">// set cursor position to zero</span>
 <a name="l00165"></a>00165    delayMicroseconds(<a class="code" href="_l_c_d_8h.html#ad25b138788d83e67f840588754e2df2f">HOME_CLEAR_EXEC</a>);  <span class="comment">// This command is time consuming</span>
 <a name="l00166"></a>00166 }
 <a name="l00167"></a>00167 
 <a name="l00179"></a>00179    <span class="comment">// ----------------------------------------</span>
 <a name="l00180"></a>00180    <span class="keywordflow">if</span> ( <a class="code" href="class_l_c_d.html#a88b16ea0e5c7d1cabc5007d48bcbd2b0">_cols</a> == 16 &amp;&amp; <a class="code" href="class_l_c_d.html#ac1374911fb145fea430c21092ada0c06">_numlines</a> == 4 )
 <a name="l00181"></a>00181    {
-<a name="l00182"></a>00182       <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#a15008b832807a208d9d88c74e6751ebf">LCD_SETDDRAMADDR</a> | (col + row_offsetsLarge[row]));
+<a name="l00182"></a>00182       command(<a class="code" href="_l_c_d_8h.html#a15008b832807a208d9d88c74e6751ebf">LCD_SETDDRAMADDR</a> | (col + row_offsetsLarge[row]));
 <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       <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#a15008b832807a208d9d88c74e6751ebf">LCD_SETDDRAMADDR</a> | (col + row_offsetsDef[row]));
+<a name="l00186"></a>00186       command(<a class="code" href="_l_c_d_8h.html#a15008b832807a208d9d88c74e6751ebf">LCD_SETDDRAMADDR</a> | (col + row_offsetsDef[row]));
 <a name="l00187"></a>00187    }
 <a name="l00188"></a>00188    
 <a name="l00189"></a>00189 }
 <a name="l00192"></a><a class="code" href="class_l_c_d.html#af3974da6d988ba2d21c25135ada12108">00192</a> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#af3974da6d988ba2d21c25135ada12108">LCD::noDisplay</a>() 
 <a name="l00193"></a>00193 {
 <a name="l00194"></a>00194    <a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">_displaycontrol</a> &amp;= ~<a class="code" href="_l_c_d_8h.html#a76236ae8317b34bbc98ea56bc0a2639c">LCD_DISPLAYON</a>;
-<a name="l00195"></a>00195    <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#adfb8b2b8b8a08d7313504d7a4f89d99f">LCD_DISPLAYCONTROL</a> | <a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">_displaycontrol</a>);
+<a name="l00195"></a>00195    command(<a class="code" href="_l_c_d_8h.html#adfb8b2b8b8a08d7313504d7a4f89d99f">LCD_DISPLAYCONTROL</a> | <a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">_displaycontrol</a>);
 <a name="l00196"></a>00196 }
 <a name="l00197"></a>00197 
 <a name="l00198"></a><a class="code" href="class_l_c_d.html#a5b07cf05e8e5e7c53654f5ca0cf58b89">00198</a> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a5b07cf05e8e5e7c53654f5ca0cf58b89">LCD::display</a>() 
 <a name="l00199"></a>00199 {
 <a name="l00200"></a>00200    <a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">_displaycontrol</a> |= <a class="code" href="_l_c_d_8h.html#a76236ae8317b34bbc98ea56bc0a2639c">LCD_DISPLAYON</a>;
-<a name="l00201"></a>00201    <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#adfb8b2b8b8a08d7313504d7a4f89d99f">LCD_DISPLAYCONTROL</a> | <a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">_displaycontrol</a>);
+<a name="l00201"></a>00201    command(<a class="code" href="_l_c_d_8h.html#adfb8b2b8b8a08d7313504d7a4f89d99f">LCD_DISPLAYCONTROL</a> | <a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">_displaycontrol</a>);
 <a name="l00202"></a>00202 }
 <a name="l00203"></a>00203 
 <a name="l00204"></a>00204 <span class="comment">// Turns the underline cursor on/off</span>
 <a name="l00205"></a><a class="code" href="class_l_c_d.html#aec8ffaa1e69c7a6e13ac0cfbc29151d9">00205</a> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#aec8ffaa1e69c7a6e13ac0cfbc29151d9">LCD::noCursor</a>() 
 <a name="l00206"></a>00206 {
 <a name="l00207"></a>00207    <a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">_displaycontrol</a> &amp;= ~<a class="code" href="_l_c_d_8h.html#ab67f0adccde68de88eee0513fdfc4574">LCD_CURSORON</a>;
-<a name="l00208"></a>00208    <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#adfb8b2b8b8a08d7313504d7a4f89d99f">LCD_DISPLAYCONTROL</a> | <a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">_displaycontrol</a>);
+<a name="l00208"></a>00208    command(<a class="code" href="_l_c_d_8h.html#adfb8b2b8b8a08d7313504d7a4f89d99f">LCD_DISPLAYCONTROL</a> | <a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">_displaycontrol</a>);
 <a name="l00209"></a>00209 }
 <a name="l00210"></a><a class="code" href="class_l_c_d.html#a194814f64dfa50a90e07e0fe0d361620">00210</a> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a194814f64dfa50a90e07e0fe0d361620">LCD::cursor</a>() 
 <a name="l00211"></a>00211 {
 <a name="l00212"></a>00212    <a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">_displaycontrol</a> |= <a class="code" href="_l_c_d_8h.html#ab67f0adccde68de88eee0513fdfc4574">LCD_CURSORON</a>;
-<a name="l00213"></a>00213    <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#adfb8b2b8b8a08d7313504d7a4f89d99f">LCD_DISPLAYCONTROL</a> | <a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">_displaycontrol</a>);
+<a name="l00213"></a>00213    command(<a class="code" href="_l_c_d_8h.html#adfb8b2b8b8a08d7313504d7a4f89d99f">LCD_DISPLAYCONTROL</a> | <a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">_displaycontrol</a>);
 <a name="l00214"></a>00214 }
 <a name="l00215"></a>00215 
 <a name="l00216"></a>00216 <span class="comment">// Turns on/off the blinking cursor</span>
 <a name="l00217"></a><a class="code" href="class_l_c_d.html#a3b755c4b397b5985752be8c30ee1a9b5">00217</a> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a3b755c4b397b5985752be8c30ee1a9b5">LCD::noBlink</a>() 
 <a name="l00218"></a>00218 {
 <a name="l00219"></a>00219    <a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">_displaycontrol</a> &amp;= ~<a class="code" href="_l_c_d_8h.html#ac3b19d4e6553b9bbf18a23387e439206">LCD_BLINKON</a>;
-<a name="l00220"></a>00220    <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#adfb8b2b8b8a08d7313504d7a4f89d99f">LCD_DISPLAYCONTROL</a> | <a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">_displaycontrol</a>);
+<a name="l00220"></a>00220    command(<a class="code" href="_l_c_d_8h.html#adfb8b2b8b8a08d7313504d7a4f89d99f">LCD_DISPLAYCONTROL</a> | <a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">_displaycontrol</a>);
 <a name="l00221"></a>00221 }
 <a name="l00222"></a>00222 
 <a name="l00223"></a><a class="code" href="class_l_c_d.html#a878b36878fa8287093964eba83aace77">00223</a> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a878b36878fa8287093964eba83aace77">LCD::blink</a>() 
 <a name="l00224"></a>00224 {
 <a name="l00225"></a>00225    <a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">_displaycontrol</a> |= <a class="code" href="_l_c_d_8h.html#ac3b19d4e6553b9bbf18a23387e439206">LCD_BLINKON</a>;
-<a name="l00226"></a>00226    <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#adfb8b2b8b8a08d7313504d7a4f89d99f">LCD_DISPLAYCONTROL</a> | <a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">_displaycontrol</a>);
+<a name="l00226"></a>00226    command(<a class="code" href="_l_c_d_8h.html#adfb8b2b8b8a08d7313504d7a4f89d99f">LCD_DISPLAYCONTROL</a> | <a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">_displaycontrol</a>);
 <a name="l00227"></a>00227 }
 <a name="l00228"></a>00228 
 <a name="l00229"></a>00229 <span class="comment">// These commands scroll the display without changing the RAM</span>
 <a name="l00230"></a><a class="code" href="class_l_c_d.html#a6f3a503055b3b8dcf0f61b2633c584f7">00230</a> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a6f3a503055b3b8dcf0f61b2633c584f7">LCD::scrollDisplayLeft</a>(<span class="keywordtype">void</span>) 
 <a name="l00231"></a>00231 {
-<a name="l00232"></a>00232    <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#a61f16a2b7550e4700f7898a7587c5594">LCD_CURSORSHIFT</a> | <a class="code" href="_l_c_d_8h.html#ab2f7b67abfac33f610acfd5d7a971f40">LCD_DISPLAYMOVE</a> | <a class="code" href="_l_c_d_8h.html#aafb86adb0dfca1e65d65b2cd1946a009">LCD_MOVELEFT</a>);
+<a name="l00232"></a>00232    command(<a class="code" href="_l_c_d_8h.html#a61f16a2b7550e4700f7898a7587c5594">LCD_CURSORSHIFT</a> | <a class="code" href="_l_c_d_8h.html#ab2f7b67abfac33f610acfd5d7a971f40">LCD_DISPLAYMOVE</a> | <a class="code" href="_l_c_d_8h.html#aafb86adb0dfca1e65d65b2cd1946a009">LCD_MOVELEFT</a>);
 <a name="l00233"></a>00233 }
 <a name="l00234"></a>00234 
 <a name="l00235"></a><a class="code" href="class_l_c_d.html#abfc44b294772f09020bfa32af8a79571">00235</a> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#abfc44b294772f09020bfa32af8a79571">LCD::scrollDisplayRight</a>(<span class="keywordtype">void</span>) 
 <a name="l00236"></a>00236 {
-<a name="l00237"></a>00237    <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#a61f16a2b7550e4700f7898a7587c5594">LCD_CURSORSHIFT</a> | <a class="code" href="_l_c_d_8h.html#ab2f7b67abfac33f610acfd5d7a971f40">LCD_DISPLAYMOVE</a> | <a class="code" href="_l_c_d_8h.html#acf5999180233790bb2c9902efde58f7f">LCD_MOVERIGHT</a>);
+<a name="l00237"></a>00237    command(<a class="code" href="_l_c_d_8h.html#a61f16a2b7550e4700f7898a7587c5594">LCD_CURSORSHIFT</a> | <a class="code" href="_l_c_d_8h.html#ab2f7b67abfac33f610acfd5d7a971f40">LCD_DISPLAYMOVE</a> | <a class="code" href="_l_c_d_8h.html#acf5999180233790bb2c9902efde58f7f">LCD_MOVERIGHT</a>);
 <a name="l00238"></a>00238 }
 <a name="l00239"></a>00239 
 <a name="l00240"></a>00240 <span class="comment">// This is for text that flows Left to Right</span>
 <a name="l00241"></a><a class="code" href="class_l_c_d.html#a238e9f6476dc7df64af04eb6c87f6ac7">00241</a> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a238e9f6476dc7df64af04eb6c87f6ac7">LCD::leftToRight</a>(<span class="keywordtype">void</span>) 
 <a name="l00242"></a>00242 {
 <a name="l00243"></a>00243    <a class="code" href="class_l_c_d.html#a726b9a68d091dd8683a18e83f3a8fd3c">_displaymode</a> |= <a class="code" href="_l_c_d_8h.html#ae7c6309fce6200bd7526d090a4a84dd0">LCD_ENTRYLEFT</a>;
-<a name="l00244"></a>00244    <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#a5597e1d5819ea2f0734ad4313abf6703">LCD_ENTRYMODESET</a> | <a class="code" href="class_l_c_d.html#a726b9a68d091dd8683a18e83f3a8fd3c">_displaymode</a>);
+<a name="l00244"></a>00244    command(<a class="code" href="_l_c_d_8h.html#a5597e1d5819ea2f0734ad4313abf6703">LCD_ENTRYMODESET</a> | <a class="code" href="class_l_c_d.html#a726b9a68d091dd8683a18e83f3a8fd3c">_displaymode</a>);
 <a name="l00245"></a>00245 }
 <a name="l00246"></a>00246 
 <a name="l00247"></a>00247 <span class="comment">// This is for text that flows Right to Left</span>
 <a name="l00248"></a><a class="code" href="class_l_c_d.html#ac014830eadc26bfd86308ea8734f4428">00248</a> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#ac014830eadc26bfd86308ea8734f4428">LCD::rightToLeft</a>(<span class="keywordtype">void</span>) 
 <a name="l00249"></a>00249 {
 <a name="l00250"></a>00250    <a class="code" href="class_l_c_d.html#a726b9a68d091dd8683a18e83f3a8fd3c">_displaymode</a> &amp;= ~<a class="code" href="_l_c_d_8h.html#ae7c6309fce6200bd7526d090a4a84dd0">LCD_ENTRYLEFT</a>;
-<a name="l00251"></a>00251    <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#a5597e1d5819ea2f0734ad4313abf6703">LCD_ENTRYMODESET</a> | <a class="code" href="class_l_c_d.html#a726b9a68d091dd8683a18e83f3a8fd3c">_displaymode</a>);
+<a name="l00251"></a>00251    command(<a class="code" href="_l_c_d_8h.html#a5597e1d5819ea2f0734ad4313abf6703">LCD_ENTRYMODESET</a> | <a class="code" href="class_l_c_d.html#a726b9a68d091dd8683a18e83f3a8fd3c">_displaymode</a>);
 <a name="l00252"></a>00252 }
 <a name="l00253"></a>00253 
 <a name="l00254"></a>00254 <span class="comment">// This method moves the cursor one space to the right</span>
 <a name="l00255"></a><a class="code" href="class_l_c_d.html#a09eec0c712e54b066f5894635c1fe75c">00255</a> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a09eec0c712e54b066f5894635c1fe75c">LCD::moveCursorRight</a>(<span class="keywordtype">void</span>)
 <a name="l00256"></a>00256 {
-<a name="l00257"></a>00257    <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#a61f16a2b7550e4700f7898a7587c5594">LCD_CURSORSHIFT</a> | <a class="code" href="_l_c_d_8h.html#ac21f0302ac4136775877d5f4759e4f74">LCD_CURSORMOVE</a> | <a class="code" href="_l_c_d_8h.html#acf5999180233790bb2c9902efde58f7f">LCD_MOVERIGHT</a>);
+<a name="l00257"></a>00257    command(<a class="code" href="_l_c_d_8h.html#a61f16a2b7550e4700f7898a7587c5594">LCD_CURSORSHIFT</a> | <a class="code" href="_l_c_d_8h.html#ac21f0302ac4136775877d5f4759e4f74">LCD_CURSORMOVE</a> | <a class="code" href="_l_c_d_8h.html#acf5999180233790bb2c9902efde58f7f">LCD_MOVERIGHT</a>);
 <a name="l00258"></a>00258 }
 <a name="l00259"></a>00259 
 <a name="l00260"></a>00260 <span class="comment">// This method moves the cursor one space to the left</span>
 <a name="l00261"></a><a class="code" href="class_l_c_d.html#aad2abc99d1aca5403873579d9d72c2d4">00261</a> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#aad2abc99d1aca5403873579d9d72c2d4">LCD::moveCursorLeft</a>(<span class="keywordtype">void</span>)
 <a name="l00262"></a>00262 {
-<a name="l00263"></a>00263    <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#a61f16a2b7550e4700f7898a7587c5594">LCD_CURSORSHIFT</a> | <a class="code" href="_l_c_d_8h.html#ac21f0302ac4136775877d5f4759e4f74">LCD_CURSORMOVE</a> | <a class="code" href="_l_c_d_8h.html#aafb86adb0dfca1e65d65b2cd1946a009">LCD_MOVELEFT</a>);
+<a name="l00263"></a>00263    command(<a class="code" href="_l_c_d_8h.html#a61f16a2b7550e4700f7898a7587c5594">LCD_CURSORSHIFT</a> | <a class="code" href="_l_c_d_8h.html#ac21f0302ac4136775877d5f4759e4f74">LCD_CURSORMOVE</a> | <a class="code" href="_l_c_d_8h.html#aafb86adb0dfca1e65d65b2cd1946a009">LCD_MOVELEFT</a>);
 <a name="l00264"></a>00264 }
 <a name="l00265"></a>00265 
 <a name="l00266"></a>00266 
 <a name="l00268"></a><a class="code" href="class_l_c_d.html#abb3ed88d530f6283e6159b4973e7da9e">00268</a> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#abb3ed88d530f6283e6159b4973e7da9e">LCD::autoscroll</a>(<span class="keywordtype">void</span>) 
 <a name="l00269"></a>00269 {
 <a name="l00270"></a>00270    <a class="code" href="class_l_c_d.html#a726b9a68d091dd8683a18e83f3a8fd3c">_displaymode</a> |= <a class="code" href="_l_c_d_8h.html#aa2cf1d0f4a319e53c009cffe1184466c">LCD_ENTRYSHIFTINCREMENT</a>;
-<a name="l00271"></a>00271    <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#a5597e1d5819ea2f0734ad4313abf6703">LCD_ENTRYMODESET</a> | <a class="code" href="class_l_c_d.html#a726b9a68d091dd8683a18e83f3a8fd3c">_displaymode</a>);
+<a name="l00271"></a>00271    command(<a class="code" href="_l_c_d_8h.html#a5597e1d5819ea2f0734ad4313abf6703">LCD_ENTRYMODESET</a> | <a class="code" href="class_l_c_d.html#a726b9a68d091dd8683a18e83f3a8fd3c">_displaymode</a>);
 <a name="l00272"></a>00272 }
 <a name="l00273"></a>00273 
 <a name="l00274"></a>00274 <span class="comment">// This will &#39;left justify&#39; text from the cursor</span>
 <a name="l00275"></a><a class="code" href="class_l_c_d.html#a96035dde40efbf73390e00b5beb00231">00275</a> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a96035dde40efbf73390e00b5beb00231">LCD::noAutoscroll</a>(<span class="keywordtype">void</span>) 
 <a name="l00276"></a>00276 {
 <a name="l00277"></a>00277    <a class="code" href="class_l_c_d.html#a726b9a68d091dd8683a18e83f3a8fd3c">_displaymode</a> &amp;= ~<a class="code" href="_l_c_d_8h.html#aa2cf1d0f4a319e53c009cffe1184466c">LCD_ENTRYSHIFTINCREMENT</a>;
-<a name="l00278"></a>00278    <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#a5597e1d5819ea2f0734ad4313abf6703">LCD_ENTRYMODESET</a> | <a class="code" href="class_l_c_d.html#a726b9a68d091dd8683a18e83f3a8fd3c">_displaymode</a>);
+<a name="l00278"></a>00278    command(<a class="code" href="_l_c_d_8h.html#a5597e1d5819ea2f0734ad4313abf6703">LCD_ENTRYMODESET</a> | <a class="code" href="class_l_c_d.html#a726b9a68d091dd8683a18e83f3a8fd3c">_displaymode</a>);
 <a name="l00279"></a>00279 }
 <a name="l00280"></a>00280 
 <a name="l00281"></a>00281 <span class="comment">// Write to CGRAM of new characters</span>
 <a name="l00283"></a>00283 {
 <a name="l00284"></a>00284    location &amp;= 0x7;            <span class="comment">// we only have 8 locations 0-7</span>
 <a name="l00285"></a>00285    
-<a name="l00286"></a>00286    <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(<a class="code" href="_l_c_d_8h.html#aae6ea856879c11dee58493184582a52f">LCD_SETCGRAMADDR</a> | (location &lt;&lt; 3));
+<a name="l00286"></a>00286    command(<a class="code" href="_l_c_d_8h.html#aae6ea856879c11dee58493184582a52f">LCD_SETCGRAMADDR</a> | (location &lt;&lt; 3));
 <a name="l00287"></a>00287    delayMicroseconds(30);
 <a name="l00288"></a>00288    
 <a name="l00289"></a>00289    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0; i&lt;8; i++) 
 <a name="l00307"></a>00307    <a class="code" href="class_l_c_d.html#a3305570d7b37eb93f2cf840263c15828">setBacklight</a>(0);
 <a name="l00308"></a>00308 }
 <a name="l00309"></a>00309 
-<a name="l00310"></a>00310 <span class="comment">// General LCD commands - generic methods used by the rest of the commands</span>
-<a name="l00311"></a>00311 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00312"></a><a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">00312</a> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">LCD::command</a>(uint8_t value) 
+<a name="l00310"></a>00310 <span class="comment">//</span>
+<a name="l00311"></a>00311 <span class="comment">// Switch fully on the LCD (backlight and LCD)</span>
+<a name="l00312"></a><a class="code" href="class_l_c_d.html#a718da3a638deb59bd1c7a5222a52d98a">00312</a> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a718da3a638deb59bd1c7a5222a52d98a">LCD::on</a> ( <span class="keywordtype">void</span> )
 <a name="l00313"></a>00313 {
-<a name="l00314"></a>00314    <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="l00315"></a>00315 }
-<a name="l00316"></a>00316 
-<a name="l00317"></a>00317 <span class="preprocessor">#if (ARDUINO &lt;  100)</span>
-<a name="l00318"></a><a class="code" href="class_l_c_d.html#a2d89cc2e62f72afb5f15a7fd812900e3">00318</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="l00319"></a>00319 {
-<a name="l00320"></a>00320    <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="l00321"></a>00321 }
-<a name="l00322"></a>00322 <span class="preprocessor">#else</span>
-<a name="l00323"></a>00323 <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="l00324"></a>00324 {
-<a name="l00325"></a>00325    <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="l00326"></a>00326    <span class="keywordflow">return</span> 1;             <span class="comment">// assume OK</span>
-<a name="l00327"></a>00327 }
-<a name="l00328"></a>00328 <span class="preprocessor">#endif</span>
+<a name="l00314"></a>00314    <a class="code" href="class_l_c_d.html#a5b07cf05e8e5e7c53654f5ca0cf58b89">display</a>();
+<a name="l00315"></a>00315    <a class="code" href="class_l_c_d.html#aba8867fe2210cbfa8db869208709be10">backlight</a>();
+<a name="l00316"></a>00316 }
+<a name="l00317"></a>00317 
+<a name="l00318"></a>00318 <span class="comment">//</span>
+<a name="l00319"></a>00319 <span class="comment">// Switch fully off the LCD (backlight and LCD) </span>
+<a name="l00320"></a><a class="code" href="class_l_c_d.html#a191639be183be1476c9bfe6d455d23b2">00320</a> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a191639be183be1476c9bfe6d455d23b2">LCD::off</a> ( <span class="keywordtype">void</span> )
+<a name="l00321"></a>00321 {
+<a name="l00322"></a>00322    <a class="code" href="class_l_c_d.html#a2a331b4e142734411b2f1cfaffe7a488">noBacklight</a>();
+<a name="l00323"></a>00323    <a class="code" href="class_l_c_d.html#af3974da6d988ba2d21c25135ada12108">noDisplay</a>();
+<a name="l00324"></a>00324 }
+<a name="l00325"></a>00325 
+<a name="l00326"></a>00326 <span class="comment">// General LCD commands - generic methods used by the rest of the commands</span>
+<a name="l00327"></a>00327 <span class="comment">// ---------------------------------------------------------------------------</span>
+<a name="l00328"></a>00328 <span class="keywordtype">void</span> LCD::command(uint8_t value) 
+<a name="l00329"></a>00329 {
+<a name="l00330"></a>00330    send(value, <a class="code" href="_l_c_d_8h.html#ab0d87e07831e7e4943caef187872123e">COMMAND</a>);
+<a name="l00331"></a>00331 }
+<a name="l00332"></a>00332 
+<a name="l00333"></a>00333 <span class="preprocessor">#if (ARDUINO &lt;  100)</span>
+<a name="l00334"></a><a class="code" href="class_l_c_d.html#a2d89cc2e62f72afb5f15a7fd812900e3">00334</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="l00335"></a>00335 {
+<a name="l00336"></a>00336    send(value, <a class="code" href="_l_c_d_8h.html#aad9ae913bdfab20dd94ad04ee2d5b045">DATA</a>);
+<a name="l00337"></a>00337 }
+<a name="l00338"></a>00338 <span class="preprocessor">#else</span>
+<a name="l00339"></a>00339 <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="l00340"></a>00340 {
+<a name="l00341"></a>00341    send(value, <a class="code" href="_l_c_d_8h.html#aad9ae913bdfab20dd94ad04ee2d5b045">DATA</a>);
+<a name="l00342"></a>00342    <span class="keywordflow">return</span> 1;             <span class="comment">// assume OK</span>
+<a name="l00343"></a>00343 }
+<a name="l00344"></a>00344 <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 Wed Mar 14 2012 00:39:12 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 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.1</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</span></div>
    <div id="projectbrief">LCD Library - LCD control class hierarchy library. Drop in replacement for the LiquidCrystal Library.</div>
   </td>
  </tr>
 <tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_l_c_d.html">LCD</a></td></tr>
 <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="_l_c_d_8h.html#a0f50ae3b4bdb42dd5ad74b2c604a7515">BACKLIGHT_OFF</a>&#160;&#160;&#160;0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_l_c_d_8h.html#aa5bad1c51f5fac029f3deacfef48c54b">BACKLIGHT_ON</a>&#160;&#160;&#160;255</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_l_c_d_8h.html#ab0d87e07831e7e4943caef187872123e">COMMAND</a>&#160;&#160;&#160;0</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_l_c_d_8h.html#aad9ae913bdfab20dd94ad04ee2d5b045">DATA</a>&#160;&#160;&#160;1</td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_l_c_d_8h.html#ac707c9605a0b9ca67aa757ad23377feb">FAST_MODE</a></td></tr>
 <tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_l_c_d_8h.html#a6eac41e4be58d7736ac0c19de225c0dc">waitUsec</a> (uint16_t uSec)</td></tr>
 </table>
 <hr/><h2>Define Documentation</h2>
+<a class="anchor" id="a0f50ae3b4bdb42dd5ad74b2c604a7515"></a><!-- doxytag: member="LCD.h::BACKLIGHT_OFF" ref="a0f50ae3b4bdb42dd5ad74b2c604a7515" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define BACKLIGHT_OFF&#160;&#160;&#160;0</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Backlight off constant declaration  Used in combination with the setBacklight to swith off the <a class="el" href="class_l_c_d.html">LCD</a> backlight.  setBacklight </p>
+
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00149">149</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa5bad1c51f5fac029f3deacfef48c54b"></a><!-- doxytag: member="LCD.h::BACKLIGHT_ON" ref="aa5bad1c51f5fac029f3deacfef48c54b" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define BACKLIGHT_ON&#160;&#160;&#160;255</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Backlight on constant declaration  Used in combination with the setBacklight to swith on the <a class="el" href="class_l_c_d.html">LCD</a> backlight.  setBacklight </p>
+
+<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00157">157</a> of file <a class="el" href="_l_c_d_8h_source.html">LCD.h</a>.</p>
+
+</div>
+</div>
 <a class="anchor" id="ab0d87e07831e7e4943caef187872123e"></a><!-- doxytag: member="LCD.h::COMMAND" ref="ab0d87e07831e7e4943caef187872123e" args="" -->
 <div class="memitem">
 <div class="memproto">
 <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#l00140">140</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>
 </dd>
 </dl>
 
-<p>Definition at line <a class="el" href="_l_c_d_8h_source.html#l00147">147</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#l00165">165</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 Wed Mar 14 2012 00:39:12 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 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.1</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</span></div>
    <div id="projectbrief">LCD Library - LCD control class hierarchy library. Drop in replacement for the LiquidCrystal Library.</div>
   </td>
  </tr>
 <a name="l00131"></a><a class="code" href="_l_c_d_8h.html#aad9ae913bdfab20dd94ad04ee2d5b045">00131</a> <span class="preprocessor"></span><span class="preprocessor">#define DATA                    1</span>
 <a name="l00132"></a><a class="code" href="_l_c_d_8h.html#aa1e30e32b6c2cf8d90a9281328472dbe">00132</a> <span class="preprocessor"></span><span class="preprocessor">#define FOUR_BITS               2</span>
 <a name="l00133"></a>00133 <span class="preprocessor"></span>
-<a name="l00140"></a><a class="code" href="_l_c_d_8h.html#ad25b138788d83e67f840588754e2df2f">00140</a> <span class="preprocessor">#define HOME_CLEAR_EXEC      2000</span>
-<a name="l00141"></a>00141 <span class="preprocessor"></span>
-<a name="l00147"></a><a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bc">00147</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bca03d440bbbfb042afc85347f994b44fb5">POSITIVE</a>, <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bca62d66a51fa7574c652597716f7709865">NEGATIVE</a> } <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bc">t_backlighPol</a>;
-<a name="l00148"></a>00148 
-<a name="l00149"></a><a class="code" href="class_l_c_d.html">00149</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="l00150"></a>00150 {
-<a name="l00151"></a>00151 <span class="keyword">public</span>:
-<a name="l00152"></a>00152    
-<a name="l00159"></a>00159    <a class="code" href="class_l_c_d.html#a00bb2db1390721abc7b24ac4b8c276c8">LCD</a> ( );
-<a name="l00160"></a>00160    
-<a name="l00175"></a>00175    <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="l00176"></a>00176    
-<a name="l00187"></a>00187    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#afa699e0beeeee03cce8cef87eba81c4a">clear</a>();
-<a name="l00188"></a>00188    
-<a name="l00200"></a>00200    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#aee45ad37f09312f5d9982257e2d37e68">home</a>();
-<a name="l00201"></a>00201    
-<a name="l00210"></a>00210    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#af3974da6d988ba2d21c25135ada12108">noDisplay</a>();
-<a name="l00211"></a>00211    
-<a name="l00221"></a>00221    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a5b07cf05e8e5e7c53654f5ca0cf58b89">display</a>();
-<a name="l00222"></a>00222    
-<a name="l00229"></a>00229    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a3b755c4b397b5985752be8c30ee1a9b5">noBlink</a>();
-<a name="l00230"></a>00230    
-<a name="l00239"></a>00239    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a878b36878fa8287093964eba83aace77">blink</a>();
+<a name="l00134"></a>00134 
+<a name="l00141"></a><a class="code" href="_l_c_d_8h.html#ad25b138788d83e67f840588754e2df2f">00141</a> <span class="preprocessor">#define HOME_CLEAR_EXEC      2000</span>
+<a name="l00142"></a>00142 <span class="preprocessor"></span>
+<a name="l00149"></a><a class="code" href="_l_c_d_8h.html#a0f50ae3b4bdb42dd5ad74b2c604a7515">00149</a> <span class="preprocessor">#define BACKLIGHT_OFF           0</span>
+<a name="l00150"></a>00150 <span class="preprocessor"></span>
+<a name="l00157"></a><a class="code" href="_l_c_d_8h.html#aa5bad1c51f5fac029f3deacfef48c54b">00157</a> <span class="preprocessor">#define BACKLIGHT_ON          255</span>
+<a name="l00158"></a>00158 <span class="preprocessor"></span>
+<a name="l00159"></a>00159 
+<a name="l00165"></a><a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bc">00165</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bca03d440bbbfb042afc85347f994b44fb5">POSITIVE</a>, <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bca62d66a51fa7574c652597716f7709865">NEGATIVE</a> } <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bc">t_backlighPol</a>;
+<a name="l00166"></a>00166 
+<a name="l00167"></a><a class="code" href="class_l_c_d.html">00167</a> <span class="keyword">class </span><a class="code" href="class_l_c_d.html">LCD</a> : <span class="keyword">public</span> Print 
+<a name="l00168"></a>00168 {
+<a name="l00169"></a>00169 <span class="keyword">public</span>:
+<a name="l00170"></a>00170    
+<a name="l00177"></a>00177    <a class="code" href="class_l_c_d.html#a00bb2db1390721abc7b24ac4b8c276c8">LCD</a> ( );
+<a name="l00178"></a>00178    
+<a name="l00193"></a>00193    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a3f587d1cbb2d59765ef60a5216b56fea">begin</a>(uint8_t cols, uint8_t rows, uint8_t charsize = <a class="code" href="_l_c_d_8h.html#a9ef57e724c1b846dae0f531aff6fb464">LCD_5x8DOTS</a>);
+<a name="l00194"></a>00194    
+<a name="l00205"></a>00205    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#afa699e0beeeee03cce8cef87eba81c4a">clear</a>();
+<a name="l00206"></a>00206    
+<a name="l00218"></a>00218    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#aee45ad37f09312f5d9982257e2d37e68">home</a>();
+<a name="l00219"></a>00219    
+<a name="l00228"></a>00228    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#af3974da6d988ba2d21c25135ada12108">noDisplay</a>();
+<a name="l00229"></a>00229    
+<a name="l00239"></a>00239    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a5b07cf05e8e5e7c53654f5ca0cf58b89">display</a>();
 <a name="l00240"></a>00240    
-<a name="l00247"></a>00247    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#aec8ffaa1e69c7a6e13ac0cfbc29151d9">noCursor</a>();
+<a name="l00247"></a>00247    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a3b755c4b397b5985752be8c30ee1a9b5">noBlink</a>();
 <a name="l00248"></a>00248    
-<a name="l00257"></a>00257    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a194814f64dfa50a90e07e0fe0d361620">cursor</a>();
+<a name="l00257"></a>00257    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a878b36878fa8287093964eba83aace77">blink</a>();
 <a name="l00258"></a>00258    
-<a name="l00266"></a>00266    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a6f3a503055b3b8dcf0f61b2633c584f7">scrollDisplayLeft</a>();
-<a name="l00267"></a>00267    
-<a name="l00275"></a>00275    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#abfc44b294772f09020bfa32af8a79571">scrollDisplayRight</a>();
+<a name="l00265"></a>00265    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#aec8ffaa1e69c7a6e13ac0cfbc29151d9">noCursor</a>();
+<a name="l00266"></a>00266    
+<a name="l00275"></a>00275    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a194814f64dfa50a90e07e0fe0d361620">cursor</a>();
 <a name="l00276"></a>00276    
-<a name="l00288"></a>00288    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a238e9f6476dc7df64af04eb6c87f6ac7">leftToRight</a>();
-<a name="l00289"></a>00289    
-<a name="l00301"></a>00301    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#ac014830eadc26bfd86308ea8734f4428">rightToLeft</a>();
-<a name="l00302"></a>00302    
-<a name="l00309"></a>00309    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#aad2abc99d1aca5403873579d9d72c2d4">moveCursorLeft</a>();
-<a name="l00310"></a>00310    
-<a name="l00311"></a>00311    
-<a name="l00318"></a>00318    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a09eec0c712e54b066f5894635c1fe75c">moveCursorRight</a>();
-<a name="l00319"></a>00319    
-<a name="l00333"></a>00333    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#abb3ed88d530f6283e6159b4973e7da9e">autoscroll</a>();
-<a name="l00334"></a>00334    
-<a name="l00343"></a>00343    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a96035dde40efbf73390e00b5beb00231">noAutoscroll</a>();
-<a name="l00344"></a>00344    
-<a name="l00361"></a>00361    <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="l00284"></a>00284    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a6f3a503055b3b8dcf0f61b2633c584f7">scrollDisplayLeft</a>();
+<a name="l00285"></a>00285    
+<a name="l00293"></a>00293    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#abfc44b294772f09020bfa32af8a79571">scrollDisplayRight</a>();
+<a name="l00294"></a>00294    
+<a name="l00306"></a>00306    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a238e9f6476dc7df64af04eb6c87f6ac7">leftToRight</a>();
+<a name="l00307"></a>00307    
+<a name="l00319"></a>00319    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#ac014830eadc26bfd86308ea8734f4428">rightToLeft</a>();
+<a name="l00320"></a>00320    
+<a name="l00327"></a>00327    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#aad2abc99d1aca5403873579d9d72c2d4">moveCursorLeft</a>();
+<a name="l00328"></a>00328    
+<a name="l00329"></a>00329    
+<a name="l00336"></a>00336    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a09eec0c712e54b066f5894635c1fe75c">moveCursorRight</a>();
+<a name="l00337"></a>00337    
+<a name="l00351"></a>00351    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#abb3ed88d530f6283e6159b4973e7da9e">autoscroll</a>();
+<a name="l00352"></a>00352    
+<a name="l00361"></a>00361    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a96035dde40efbf73390e00b5beb00231">noAutoscroll</a>();
 <a name="l00362"></a>00362    
-<a name="l00372"></a>00372    <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="l00373"></a>00373    
-<a name="l00374"></a>00374    
-<a name="l00386"></a>00386    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a31a0cb42497d83cdc9cb8000828f7190">command</a>(uint8_t value);
-<a name="l00387"></a>00387    
-<a name="l00388"></a>00388    <span class="comment">//</span>
-<a name="l00389"></a>00389    <span class="comment">// virtual class methods</span>
-<a name="l00390"></a>00390    <span class="comment">// --------------------------------------------------------------------------</span>
-<a name="l00401"></a><a class="code" href="class_l_c_d.html#a53f4ee9b39d9ab3d7ae4d9f8dedca3bc">00401</a> <span class="comment"></span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a53f4ee9b39d9ab3d7ae4d9f8dedca3bc">setBacklightPin</a> ( uint8_t value, <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bc">t_backlighPol</a> pol ) { };
-<a name="l00402"></a>00402    
-<a name="l00419"></a><a class="code" href="class_l_c_d.html#a3305570d7b37eb93f2cf840263c15828">00419</a>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a3305570d7b37eb93f2cf840263c15828">setBacklight</a> ( uint8_t value ) { };
-<a name="l00420"></a>00420    
-<a name="l00428"></a>00428    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#aba8867fe2210cbfa8db869208709be10">backlight</a> ( <span class="keywordtype">void</span> );
-<a name="l00429"></a>00429    
-<a name="l00437"></a>00437    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a2a331b4e142734411b2f1cfaffe7a488">noBacklight</a> ( <span class="keywordtype">void</span> );
-<a name="l00438"></a>00438    
-<a name="l00450"></a>00450 <span class="preprocessor">#if (ARDUINO &lt;  100)</span>
-<a name="l00451"></a>00451 <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="l00452"></a>00452 <span class="preprocessor">#else</span>
-<a name="l00453"></a>00453 <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="l00454"></a>00454 <span class="preprocessor">#endif</span>
-<a name="l00455"></a>00455 <span class="preprocessor"></span>   
-<a name="l00456"></a>00456    
-<a name="l00470"></a>00470 <span class="preprocessor">#if (ARDUINO &lt;  100)</span>
-<a name="l00471"></a><a class="code" href="class_l_c_d.html#a8a5b6f6f448a6ca6eeb3466c370d47ab">00471</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="l00472"></a>00472 <span class="preprocessor">#else</span>
-<a name="l00473"></a>00473 <span class="preprocessor"></span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a8a5b6f6f448a6ca6eeb3466c370d47ab">send</a>(uint8_t value, uint8_t mode) = 0;
-<a name="l00474"></a>00474 <span class="preprocessor">#endif</span>
-<a name="l00475"></a>00475 <span class="preprocessor"></span>   
-<a name="l00476"></a>00476 <span class="preprocessor">#if (ARDUINO &lt;  100)</span>
-<a name="l00477"></a>00477 <span class="preprocessor"></span>   <span class="keyword">using</span> <a class="code" href="class_l_c_d.html#a2d89cc2e62f72afb5f15a7fd812900e3">Print::write</a>;
-<a name="l00478"></a>00478 <span class="preprocessor">#else</span>
+<a name="l00379"></a>00379    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a91cba8f93c692abcddf8bc3de58d2d3a">createChar</a>(uint8_t location, uint8_t charmap[]);
+<a name="l00380"></a>00380    
+<a name="l00390"></a>00390    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a48220450fd152b25994eb7d0ba340e8d">setCursor</a>(uint8_t col, uint8_t row);
+<a name="l00391"></a>00391    
+<a name="l00399"></a>00399    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#aba8867fe2210cbfa8db869208709be10">backlight</a> ( <span class="keywordtype">void</span> );
+<a name="l00400"></a>00400    
+<a name="l00408"></a>00408    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a2a331b4e142734411b2f1cfaffe7a488">noBacklight</a> ( <span class="keywordtype">void</span> );
+<a name="l00409"></a>00409    
+<a name="l00417"></a>00417    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a718da3a638deb59bd1c7a5222a52d98a">on</a> ( <span class="keywordtype">void</span> );
+<a name="l00418"></a>00418 
+<a name="l00426"></a>00426    <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a191639be183be1476c9bfe6d455d23b2">off</a> ( <span class="keywordtype">void</span> );
+<a name="l00427"></a>00427    
+<a name="l00428"></a>00428    <span class="comment">//</span>
+<a name="l00429"></a>00429    <span class="comment">// virtual class methods</span>
+<a name="l00430"></a>00430    <span class="comment">// --------------------------------------------------------------------------</span>
+<a name="l00441"></a><a class="code" href="class_l_c_d.html#a53f4ee9b39d9ab3d7ae4d9f8dedca3bc">00441</a> <span class="comment"></span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a53f4ee9b39d9ab3d7ae4d9f8dedca3bc">setBacklightPin</a> ( uint8_t value, <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bc">t_backlighPol</a> pol ) { };
+<a name="l00442"></a>00442    
+<a name="l00459"></a><a class="code" href="class_l_c_d.html#a3305570d7b37eb93f2cf840263c15828">00459</a>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a3305570d7b37eb93f2cf840263c15828">setBacklight</a> ( uint8_t value ) { };
+<a name="l00460"></a>00460    
+<a name="l00472"></a>00472 <span class="preprocessor">#if (ARDUINO &lt;  100)</span>
+<a name="l00473"></a>00473 <span class="preprocessor"></span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_l_c_d.html#a2d89cc2e62f72afb5f15a7fd812900e3">write</a>(uint8_t value);
+<a name="l00474"></a>00474 <span class="preprocessor">#else</span>
+<a name="l00475"></a>00475 <span class="preprocessor"></span>   <span class="keyword">virtual</span> <span class="keywordtype">size_t</span> <a class="code" href="class_l_c_d.html#a2d89cc2e62f72afb5f15a7fd812900e3">write</a>(uint8_t value);
+<a name="l00476"></a>00476 <span class="preprocessor">#endif</span>
+<a name="l00477"></a>00477 <span class="preprocessor"></span>   
+<a name="l00478"></a>00478 <span class="preprocessor">#if (ARDUINO &lt;  100)</span>
 <a name="l00479"></a>00479 <span class="preprocessor"></span>   <span class="keyword">using</span> <a class="code" href="class_l_c_d.html#a2d89cc2e62f72afb5f15a7fd812900e3">Print::write</a>;
-<a name="l00480"></a>00480 <span class="preprocessor">#endif   </span>
-<a name="l00481"></a>00481 <span class="preprocessor"></span>   
-<a name="l00482"></a>00482 <span class="keyword">protected</span>:
-<a name="l00483"></a>00483    <span class="comment">// Internal LCD variables to control the LCD shared between all derived</span>
-<a name="l00484"></a>00484    <span class="comment">// classes.</span>
-<a name="l00485"></a><a class="code" href="class_l_c_d.html#aef093ba3f8e1016267b40ac235a0fa0f">00485</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="l00486"></a>00486                               <span class="comment">// LCD_8BITMODE, LCD_1LINE or LCD_2LINE</span>
-<a name="l00487"></a><a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">00487</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="l00488"></a>00488                               <span class="comment">// all commands are &quot;ored&quot; to its contents.</span>
-<a name="l00489"></a><a class="code" href="class_l_c_d.html#a726b9a68d091dd8683a18e83f3a8fd3c">00489</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="l00490"></a><a class="code" href="class_l_c_d.html#ac1374911fb145fea430c21092ada0c06">00490</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="l00491"></a><a class="code" href="class_l_c_d.html#a88b16ea0e5c7d1cabc5007d48bcbd2b0">00491</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="l00492"></a><a class="code" href="class_l_c_d.html#a990338759d2abe10b0fb1743b7789566">00492</a>    <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bc">t_backlighPol</a> <a class="code" href="class_l_c_d.html#a990338759d2abe10b0fb1743b7789566">_polarity</a>;   <span class="comment">// Backlight polarity</span>
-<a name="l00493"></a>00493    
-<a name="l00494"></a>00494 <span class="keyword">private</span>:
+<a name="l00480"></a>00480 <span class="preprocessor">#else</span>
+<a name="l00481"></a>00481 <span class="preprocessor"></span>   <span class="keyword">using</span> <a class="code" href="class_l_c_d.html#a2d89cc2e62f72afb5f15a7fd812900e3">Print::write</a>;
+<a name="l00482"></a>00482 <span class="preprocessor">#endif   </span>
+<a name="l00483"></a>00483 <span class="preprocessor"></span>   
+<a name="l00484"></a>00484 <span class="keyword">protected</span>:
+<a name="l00485"></a>00485    <span class="comment">// Internal LCD variables to control the LCD shared between all derived</span>
+<a name="l00486"></a>00486    <span class="comment">// classes.</span>
+<a name="l00487"></a><a class="code" href="class_l_c_d.html#aef093ba3f8e1016267b40ac235a0fa0f">00487</a>    uint8_t <a class="code" href="class_l_c_d.html#aef093ba3f8e1016267b40ac235a0fa0f">_displayfunction</a>;  <span class="comment">// LCD_5x10DOTS or LCD_5x8DOTS, LCD_4BITMODE or </span>
+<a name="l00488"></a>00488                               <span class="comment">// LCD_8BITMODE, LCD_1LINE or LCD_2LINE</span>
+<a name="l00489"></a><a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">00489</a>    uint8_t <a class="code" href="class_l_c_d.html#ae47a0e2eff74431a39774b788d5761f4">_displaycontrol</a>;   <span class="comment">// LCD base control command LCD on/off, blink, cursor</span>
+<a name="l00490"></a>00490                               <span class="comment">// all commands are &quot;ored&quot; to its contents.</span>
+<a name="l00491"></a><a class="code" href="class_l_c_d.html#a726b9a68d091dd8683a18e83f3a8fd3c">00491</a>    uint8_t <a class="code" href="class_l_c_d.html#a726b9a68d091dd8683a18e83f3a8fd3c">_displaymode</a>;      <span class="comment">// Text entry mode to the LCD</span>
+<a name="l00492"></a><a class="code" href="class_l_c_d.html#ac1374911fb145fea430c21092ada0c06">00492</a>    uint8_t <a class="code" href="class_l_c_d.html#ac1374911fb145fea430c21092ada0c06">_numlines</a>;         <span class="comment">// Number of lines of the LCD, initialized with begin()</span>
+<a name="l00493"></a><a class="code" href="class_l_c_d.html#a88b16ea0e5c7d1cabc5007d48bcbd2b0">00493</a>    uint8_t <a class="code" href="class_l_c_d.html#a88b16ea0e5c7d1cabc5007d48bcbd2b0">_cols</a>;             <span class="comment">// Number of columns in the LCD</span>
+<a name="l00494"></a><a class="code" href="class_l_c_d.html#a990338759d2abe10b0fb1743b7789566">00494</a>    <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bc">t_backlighPol</a> <a class="code" href="class_l_c_d.html#a990338759d2abe10b0fb1743b7789566">_polarity</a>;   <span class="comment">// Backlight polarity</span>
 <a name="l00495"></a>00495    
-<a name="l00496"></a>00496 };
-<a name="l00497"></a>00497 
-<a name="l00498"></a>00498 <span class="preprocessor">#endif</span>
+<a name="l00496"></a>00496 <span class="keyword">private</span>:
+<a name="l00508"></a>00508    <span class="keywordtype">void</span> command(uint8_t value);
+<a name="l00509"></a>00509 
+<a name="l00523"></a>00523 <span class="preprocessor">#if (ARDUINO &lt;  100)</span>
+<a name="l00524"></a>00524 <span class="preprocessor"></span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> send(uint8_t value, uint8_t mode) { };
+<a name="l00525"></a>00525 <span class="preprocessor">#else</span>
+<a name="l00526"></a>00526 <span class="preprocessor"></span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> send(uint8_t value, uint8_t mode) = 0;
+<a name="l00527"></a>00527 <span class="preprocessor">#endif</span>
+<a name="l00528"></a>00528 <span class="preprocessor"></span>   
+<a name="l00529"></a>00529 };
+<a name="l00530"></a>00530 
+<a name="l00531"></a>00531 <span class="preprocessor">#endif</span>
 </pre></div></div>
 </div>
 <!-- window showing the filter options -->
 </iframe>
 </div>
 
-<hr class="footer"/><address class="footer"><small>Generated on Wed Mar 14 2012 00:39:12 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 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/_liquid_crystal_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.1</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</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 Wed Mar 14 2012 00:39:12 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 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/_liquid_crystal_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.1</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</span></div>
    <div id="projectbrief">LCD Library - LCD control class hierarchy library. Drop in replacement for the LiquidCrystal Library.</div>
   </td>
  </tr>
 <a name="l00154"></a>00154 <span class="comment">// setBacklightPin</span>
 <a name="l00155"></a><a class="code" href="class_liquid_crystal.html#a63740dc1198d8169a39d9c6daff0efc9">00155</a> <span class="keywordtype">void</span> <a class="code" href="class_liquid_crystal.html#a63740dc1198d8169a39d9c6daff0efc9">LiquidCrystal::setBacklightPin</a> ( uint8_t pin, <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bc">t_backlighPol</a> pol )
 <a name="l00156"></a>00156 {
-<a name="l00157"></a>00157    pinMode ( pin, OUTPUT ); <span class="comment">// Difine the backlight pin as output</span>
+<a name="l00157"></a>00157    pinMode ( pin, OUTPUT );       <span class="comment">// Difine the backlight pin as output</span>
 <a name="l00158"></a>00158    _backlightPin = pin;
 <a name="l00159"></a>00159    <a class="code" href="class_l_c_d.html#a990338759d2abe10b0fb1743b7789566">_polarity</a> = pol;
-<a name="l00160"></a>00160 }
-<a name="l00161"></a>00161 
-<a name="l00162"></a>00162 <span class="comment">//</span>
-<a name="l00163"></a>00163 <span class="comment">// setBackligh</span>
-<a name="l00164"></a><a class="code" href="class_liquid_crystal.html#aa2b898366e1c656ac313b9007c98cebd">00164</a> <span class="keywordtype">void</span> <a class="code" href="class_liquid_crystal.html#aa2b898366e1c656ac313b9007c98cebd">LiquidCrystal::setBacklight</a> ( uint8_t value )
-<a name="l00165"></a>00165 {
-<a name="l00166"></a>00166    <span class="comment">// Check if there is a pin assigned to the backlight</span>
-<a name="l00167"></a>00167    <span class="comment">// ---------------------------------------------------</span>
-<a name="l00168"></a>00168    <span class="keywordflow">if</span> ( _backlightPin != <a class="code" href="_liquid_crystal_8cpp.html#a65fa786d6e31fe8b1aa51784a9736581">LCD_NOBACKLIGHT</a> )
-<a name="l00169"></a>00169    {
-<a name="l00170"></a>00170       <span class="comment">// Check if the pin is associated to a timer, i.e. PWM</span>
-<a name="l00171"></a>00171       <span class="comment">// ---------------------------------------------------</span>
-<a name="l00172"></a>00172       <span class="keywordflow">if</span>(digitalPinToTimer(_backlightPin) != NOT_ON_TIMER)
-<a name="l00173"></a>00173       {
-<a name="l00174"></a>00174          <span class="comment">// Check for control polarity inversion</span>
-<a name="l00175"></a>00175          <span class="comment">// ---------------------------------------------------</span>
-<a name="l00176"></a>00176          <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> )
-<a name="l00177"></a>00177          {
-<a name="l00178"></a>00178             analogWrite ( _backlightPin, value );
-<a name="l00179"></a>00179          }
-<a name="l00180"></a>00180          <span class="keywordflow">else</span> 
-<a name="l00181"></a>00181          {
-<a name="l00182"></a>00182             analogWrite ( _backlightPin, 255 - value );
-<a name="l00183"></a>00183          }
-<a name="l00184"></a>00184       }
-<a name="l00185"></a>00185       <span class="comment">// Not a PWM pin, set the backlight pin for POSI or NEG</span>
-<a name="l00186"></a>00186       <span class="comment">// polarity</span>
-<a name="l00187"></a>00187       <span class="comment">// --------------------------------------------------------</span>
-<a name="l00188"></a>00188       <span class="keywordflow">else</span> <span class="keywordflow">if</span> (((value &gt; 0) &amp;&amp; (<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="l00189"></a>00189                ((value == 0) &amp;&amp; (<a class="code" href="class_l_c_d.html#a990338759d2abe10b0fb1743b7789566">_polarity</a> == <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bca62d66a51fa7574c652597716f7709865">NEGATIVE</a>)))
-<a name="l00190"></a>00190       {
-<a name="l00191"></a>00191          digitalWrite( _backlightPin, HIGH);
-<a name="l00192"></a>00192       }
-<a name="l00193"></a>00193       <span class="keywordflow">else</span>
-<a name="l00194"></a>00194       {
-<a name="l00195"></a>00195          digitalWrite( _backlightPin, LOW);
-<a name="l00196"></a>00196       }
-<a name="l00197"></a>00197    }
-<a name="l00198"></a>00198 }
-<a name="l00199"></a>00199 
-<a name="l00200"></a>00200 <span class="comment">// PRIVATE METHODS</span>
-<a name="l00201"></a>00201 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00202"></a>00202 
+<a name="l00160"></a>00160    <a class="code" href="class_liquid_crystal.html#aa2b898366e1c656ac313b9007c98cebd">setBacklight</a>(<a class="code" href="_l_c_d_8h.html#a0f50ae3b4bdb42dd5ad74b2c604a7515">BACKLIGHT_OFF</a>);   <span class="comment">// Set the backlight low by default</span>
+<a name="l00161"></a>00161 }
+<a name="l00162"></a>00162 
+<a name="l00163"></a>00163 <span class="comment">//</span>
+<a name="l00164"></a>00164 <span class="comment">// setBackligh</span>
+<a name="l00165"></a><a class="code" href="class_liquid_crystal.html#aa2b898366e1c656ac313b9007c98cebd">00165</a> <span class="keywordtype">void</span> <a class="code" href="class_liquid_crystal.html#aa2b898366e1c656ac313b9007c98cebd">LiquidCrystal::setBacklight</a> ( uint8_t value )
+<a name="l00166"></a>00166 {
+<a name="l00167"></a>00167    <span class="comment">// Check if there is a pin assigned to the backlight</span>
+<a name="l00168"></a>00168    <span class="comment">// ---------------------------------------------------</span>
+<a name="l00169"></a>00169    <span class="keywordflow">if</span> ( _backlightPin != <a class="code" href="_liquid_crystal_8cpp.html#a65fa786d6e31fe8b1aa51784a9736581">LCD_NOBACKLIGHT</a> )
+<a name="l00170"></a>00170    {
+<a name="l00171"></a>00171       <span class="comment">// Check if the pin is associated to a timer, i.e. PWM</span>
+<a name="l00172"></a>00172       <span class="comment">// ---------------------------------------------------</span>
+<a name="l00173"></a>00173       <span class="keywordflow">if</span>(digitalPinToTimer(_backlightPin) != NOT_ON_TIMER)
+<a name="l00174"></a>00174       {
+<a name="l00175"></a>00175          <span class="comment">// Check for control polarity inversion</span>
+<a name="l00176"></a>00176          <span class="comment">// ---------------------------------------------------</span>
+<a name="l00177"></a>00177          <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> )
+<a name="l00178"></a>00178          {
+<a name="l00179"></a>00179             analogWrite ( _backlightPin, value );
+<a name="l00180"></a>00180          }
+<a name="l00181"></a>00181          <span class="keywordflow">else</span> 
+<a name="l00182"></a>00182          {
+<a name="l00183"></a>00183             analogWrite ( _backlightPin, 255 - value );
+<a name="l00184"></a>00184          }
+<a name="l00185"></a>00185       }
+<a name="l00186"></a>00186       <span class="comment">// Not a PWM pin, set the backlight pin for POSI or NEG</span>
+<a name="l00187"></a>00187       <span class="comment">// polarity</span>
+<a name="l00188"></a>00188       <span class="comment">// --------------------------------------------------------</span>
+<a name="l00189"></a>00189       <span class="keywordflow">else</span> <span class="keywordflow">if</span> (((value &gt; 0) &amp;&amp; (<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="l00190"></a>00190                ((value == 0) &amp;&amp; (<a class="code" href="class_l_c_d.html#a990338759d2abe10b0fb1743b7789566">_polarity</a> == <a class="code" href="_l_c_d_8h.html#aeeef728bf4726268aa5e99391a1502bca62d66a51fa7574c652597716f7709865">NEGATIVE</a>)))
+<a name="l00191"></a>00191       {
+<a name="l00192"></a>00192          digitalWrite( _backlightPin, HIGH);
+<a name="l00193"></a>00193       }
+<a name="l00194"></a>00194       <span class="keywordflow">else</span>
+<a name="l00195"></a>00195       {
+<a name="l00196"></a>00196          digitalWrite( _backlightPin, LOW);
+<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="comment">// init</span>
-<a name="l00205"></a>00205 <span class="keywordtype">void</span> LiquidCrystal::init(uint8_t fourbitmode, uint8_t rs, uint8_t rw, uint8_t enable,
-<a name="l00206"></a>00206                          uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3,
-<a name="l00207"></a>00207                          uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7)
-<a name="l00208"></a>00208 {
-<a name="l00209"></a>00209    uint8_t i;
-<a name="l00210"></a>00210    
-<a name="l00211"></a>00211    <span class="comment">// Initialize the IO pins</span>
-<a name="l00212"></a>00212    <span class="comment">// -----------------------</span>
-<a name="l00213"></a>00213    
-<a name="l00214"></a>00214    _rs_pin = rs;
-<a name="l00215"></a>00215    _rw_pin = rw;
-<a name="l00216"></a>00216    _enable_pin = enable;
-<a name="l00217"></a>00217    
-<a name="l00218"></a>00218    _data_pins[0] = d0;
-<a name="l00219"></a>00219    _data_pins[1] = d1;
-<a name="l00220"></a>00220    _data_pins[2] = d2;
-<a name="l00221"></a>00221    _data_pins[3] = d3; 
-<a name="l00222"></a>00222    _data_pins[4] = d4;
-<a name="l00223"></a>00223    _data_pins[5] = d5;
-<a name="l00224"></a>00224    _data_pins[6] = d6;
-<a name="l00225"></a>00225    _data_pins[7] = d7;
-<a name="l00226"></a>00226    
-<a name="l00227"></a>00227    <span class="comment">// Initialize the IO port direction to OUTPUT</span>
-<a name="l00228"></a>00228    <span class="comment">// ------------------------------------------</span>
-<a name="l00229"></a>00229    
-<a name="l00230"></a>00230    <span class="keywordflow">for</span> ( i = 0; i &lt; 4; i++ )
-<a name="l00231"></a>00231    {
-<a name="l00232"></a>00232       pinMode ( _data_pins[i], OUTPUT );
-<a name="l00233"></a>00233    }
-<a name="l00234"></a>00234    
-<a name="l00235"></a>00235    <span class="comment">// Initialize the rest of the ports if it is an 8bit controlled LCD</span>
-<a name="l00236"></a>00236    <span class="comment">// ----------------------------------------------------------------</span>
-<a name="l00237"></a>00237    
-<a name="l00238"></a>00238    <span class="keywordflow">if</span> ( !fourbitmode )
-<a name="l00239"></a>00239    {
-<a name="l00240"></a>00240       <span class="keywordflow">for</span> ( i = 4; i &lt; 8; i++ )
-<a name="l00241"></a>00241       {
-<a name="l00242"></a>00242          pinMode ( _data_pins[i], OUTPUT );
-<a name="l00243"></a>00243       }
-<a name="l00244"></a>00244    }
-<a name="l00245"></a>00245    pinMode(_rs_pin, OUTPUT);
-<a name="l00246"></a>00246    
-<a name="l00247"></a>00247    <span class="comment">// we can save 1 pin by not using RW. Indicate by passing 255 instead of pin#</span>
-<a name="l00248"></a>00248    <span class="keywordflow">if</span> (_rw_pin != 255) 
-<a name="l00249"></a>00249    { 
-<a name="l00250"></a>00250       pinMode(_rw_pin, OUTPUT);
-<a name="l00251"></a>00251    }
-<a name="l00252"></a>00252    
-<a name="l00253"></a>00253    pinMode(_enable_pin, OUTPUT);
-<a name="l00254"></a>00254    
-<a name="l00255"></a>00255    <span class="comment">// Initialise displaymode functions to defaults: LCD_1LINE and LCD_5x8DOTS</span>
-<a name="l00256"></a>00256    <span class="comment">// -------------------------------------------------------------------------</span>
-<a name="l00257"></a>00257    <span class="keywordflow">if</span> (fourbitmode)
-<a name="l00258"></a>00258       <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#a9ef57e724c1b846dae0f531aff6fb464">LCD_5x8DOTS</a>;
-<a name="l00259"></a>00259    <span class="keywordflow">else</span> 
-<a name="l00260"></a>00260       <a class="code" href="class_l_c_d.html#aef093ba3f8e1016267b40ac235a0fa0f">_displayfunction</a> = <a class="code" href="_l_c_d_8h.html#a59a57ca857dae5d89eb5f2a38c4ac6f0">LCD_8BITMODE</a> | <a class="code" href="_l_c_d_8h.html#a8c85cf88d8af66a47c42249d81c94641">LCD_1LINE</a> | <a class="code" href="_l_c_d_8h.html#a9ef57e724c1b846dae0f531aff6fb464">LCD_5x8DOTS</a>;
-<a name="l00261"></a>00261    
-<a name="l00262"></a>00262    <span class="comment">// Now we pull both RS and R/W low to begin commands</span>
-<a name="l00263"></a>00263    digitalWrite(_rs_pin, LOW);
-<a name="l00264"></a>00264    digitalWrite(_enable_pin, LOW);
-<a name="l00265"></a>00265    
-<a name="l00266"></a>00266    <span class="keywordflow">if</span> (_rw_pin != 255) 
-<a name="l00267"></a>00267    { 
-<a name="l00268"></a>00268       digitalWrite(_rw_pin, LOW);
-<a name="l00269"></a>00269    }
-<a name="l00270"></a>00270    
-<a name="l00271"></a>00271    <span class="comment">// Initialise the backlight pin no nothing</span>
-<a name="l00272"></a>00272    _backlightPin = <a class="code" href="_liquid_crystal_8cpp.html#a65fa786d6e31fe8b1aa51784a9736581">LCD_NOBACKLIGHT</a>;
-<a name="l00273"></a>00273    <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="l00274"></a>00274 }
-<a name="l00275"></a>00275 
-<a name="l00276"></a>00276 <span class="comment">//</span>
-<a name="l00277"></a>00277 <span class="comment">// pulseEnable</span>
-<a name="l00278"></a>00278 <span class="keywordtype">void</span> LiquidCrystal::pulseEnable(<span class="keywordtype">void</span>) 
-<a name="l00279"></a>00279 {
-<a name="l00280"></a>00280    <span class="comment">// There is no need for the delays, since the digitalWrite operation</span>
-<a name="l00281"></a>00281    <span class="comment">// takes longer.</span>
-<a name="l00282"></a>00282    digitalWrite(_enable_pin, HIGH);   
-<a name="l00283"></a>00283    <a class="code" href="_l_c_d_8h.html#a6eac41e4be58d7736ac0c19de225c0dc">waitUsec</a>(1);          <span class="comment">// enable pulse must be &gt; 450ns   </span>
-<a name="l00284"></a>00284    digitalWrite(_enable_pin, LOW);
-<a name="l00285"></a>00285 }
-<a name="l00286"></a>00286 
-<a name="l00287"></a>00287 <span class="comment">//</span>
-<a name="l00288"></a>00288 <span class="comment">// write4bits</span>
-<a name="l00289"></a>00289 <span class="keywordtype">void</span> LiquidCrystal::writeNbits(uint8_t value, uint8_t numBits) 
-<a name="l00290"></a>00290 {
-<a name="l00291"></a>00291    <span class="keywordflow">for</span> (uint8_t i = 0; i &lt; numBits; i++) 
-<a name="l00292"></a>00292    {
-<a name="l00293"></a>00293       digitalWrite(_data_pins[i], (value &gt;&gt; i) &amp; 0x01);
-<a name="l00294"></a>00294    }
-<a name="l00295"></a>00295    pulseEnable();
-<a name="l00296"></a>00296 }
-<a name="l00297"></a>00297 
+<a name="l00204"></a>00204 
+<a name="l00205"></a>00205 <span class="comment">// init</span>
+<a name="l00206"></a>00206 <span class="keywordtype">void</span> LiquidCrystal::init(uint8_t fourbitmode, uint8_t rs, uint8_t rw, uint8_t enable,
+<a name="l00207"></a>00207                          uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3,
+<a name="l00208"></a>00208                          uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7)
+<a name="l00209"></a>00209 {
+<a name="l00210"></a>00210    uint8_t i;
+<a name="l00211"></a>00211    
+<a name="l00212"></a>00212    <span class="comment">// Initialize the IO pins</span>
+<a name="l00213"></a>00213    <span class="comment">// -----------------------</span>
+<a name="l00214"></a>00214    
+<a name="l00215"></a>00215    _rs_pin = rs;
+<a name="l00216"></a>00216    _rw_pin = rw;
+<a name="l00217"></a>00217    _enable_pin = enable;
+<a name="l00218"></a>00218    
+<a name="l00219"></a>00219    _data_pins[0] = d0;
+<a name="l00220"></a>00220    _data_pins[1] = d1;
+<a name="l00221"></a>00221    _data_pins[2] = d2;
+<a name="l00222"></a>00222    _data_pins[3] = d3; 
+<a name="l00223"></a>00223    _data_pins[4] = d4;
+<a name="l00224"></a>00224    _data_pins[5] = d5;
+<a name="l00225"></a>00225    _data_pins[6] = d6;
+<a name="l00226"></a>00226    _data_pins[7] = d7;
+<a name="l00227"></a>00227    
+<a name="l00228"></a>00228    <span class="comment">// Initialize the IO port direction to OUTPUT</span>
+<a name="l00229"></a>00229    <span class="comment">// ------------------------------------------</span>
+<a name="l00230"></a>00230    
+<a name="l00231"></a>00231    <span class="keywordflow">for</span> ( i = 0; i &lt; 4; i++ )
+<a name="l00232"></a>00232    {
+<a name="l00233"></a>00233       pinMode ( _data_pins[i], OUTPUT );
+<a name="l00234"></a>00234    }
+<a name="l00235"></a>00235    
+<a name="l00236"></a>00236    <span class="comment">// Initialize the rest of the ports if it is an 8bit controlled LCD</span>
+<a name="l00237"></a>00237    <span class="comment">// ----------------------------------------------------------------</span>
+<a name="l00238"></a>00238    
+<a name="l00239"></a>00239    <span class="keywordflow">if</span> ( !fourbitmode )
+<a name="l00240"></a>00240    {
+<a name="l00241"></a>00241       <span class="keywordflow">for</span> ( i = 4; i &lt; 8; i++ )
+<a name="l00242"></a>00242       {
+<a name="l00243"></a>00243          pinMode ( _data_pins[i], OUTPUT );
+<a name="l00244"></a>00244       }
+<a name="l00245"></a>00245    }
+<a name="l00246"></a>00246    pinMode(_rs_pin, OUTPUT);
+<a name="l00247"></a>00247    
+<a name="l00248"></a>00248    <span class="comment">// we can save 1 pin by not using RW. Indicate by passing 255 instead of pin#</span>
+<a name="l00249"></a>00249    <span class="keywordflow">if</span> (_rw_pin != 255) 
+<a name="l00250"></a>00250    { 
+<a name="l00251"></a>00251       pinMode(_rw_pin, OUTPUT);
+<a name="l00252"></a>00252    }
+<a name="l00253"></a>00253    
+<a name="l00254"></a>00254    pinMode(_enable_pin, OUTPUT);
+<a name="l00255"></a>00255    
+<a name="l00256"></a>00256    <span class="comment">// Initialise displaymode functions to defaults: LCD_1LINE and LCD_5x8DOTS</span>
+<a name="l00257"></a>00257    <span class="comment">// -------------------------------------------------------------------------</span>
+<a name="l00258"></a>00258    <span class="keywordflow">if</span> (fourbitmode)
+<a name="l00259"></a>00259       <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#a9ef57e724c1b846dae0f531aff6fb464">LCD_5x8DOTS</a>;
+<a name="l00260"></a>00260    <span class="keywordflow">else</span> 
+<a name="l00261"></a>00261       <a class="code" href="class_l_c_d.html#aef093ba3f8e1016267b40ac235a0fa0f">_displayfunction</a> = <a class="code" href="_l_c_d_8h.html#a59a57ca857dae5d89eb5f2a38c4ac6f0">LCD_8BITMODE</a> | <a class="code" href="_l_c_d_8h.html#a8c85cf88d8af66a47c42249d81c94641">LCD_1LINE</a> | <a class="code" href="_l_c_d_8h.html#a9ef57e724c1b846dae0f531aff6fb464">LCD_5x8DOTS</a>;
+<a name="l00262"></a>00262    
+<a name="l00263"></a>00263    <span class="comment">// Now we pull both RS and R/W low to begin commands</span>
+<a name="l00264"></a>00264    digitalWrite(_rs_pin, LOW);
+<a name="l00265"></a>00265    digitalWrite(_enable_pin, LOW);
+<a name="l00266"></a>00266    
+<a name="l00267"></a>00267    <span class="keywordflow">if</span> (_rw_pin != 255) 
+<a name="l00268"></a>00268    { 
+<a name="l00269"></a>00269       digitalWrite(_rw_pin, LOW);
+<a name="l00270"></a>00270    }
+<a name="l00271"></a>00271    
+<a name="l00272"></a>00272    <span class="comment">// Initialise the backlight pin no nothing</span>
+<a name="l00273"></a>00273    _backlightPin = <a class="code" href="_liquid_crystal_8cpp.html#a65fa786d6e31fe8b1aa51784a9736581">LCD_NOBACKLIGHT</a>;
+<a name="l00274"></a>00274    <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="l00275"></a>00275 }
+<a name="l00276"></a>00276 
+<a name="l00277"></a>00277 <span class="comment">//</span>
+<a name="l00278"></a>00278 <span class="comment">// pulseEnable</span>
+<a name="l00279"></a>00279 <span class="keywordtype">void</span> LiquidCrystal::pulseEnable(<span class="keywordtype">void</span>) 
+<a name="l00280"></a>00280 {
+<a name="l00281"></a>00281    <span class="comment">// There is no need for the delays, since the digitalWrite operation</span>
+<a name="l00282"></a>00282    <span class="comment">// takes longer.</span>
+<a name="l00283"></a>00283    digitalWrite(_enable_pin, HIGH);   
+<a name="l00284"></a>00284    <a class="code" href="_l_c_d_8h.html#a6eac41e4be58d7736ac0c19de225c0dc">waitUsec</a>(1);          <span class="comment">// enable pulse must be &gt; 450ns   </span>
+<a name="l00285"></a>00285    digitalWrite(_enable_pin, LOW);
+<a name="l00286"></a>00286 }
+<a name="l00287"></a>00287 
+<a name="l00288"></a>00288 <span class="comment">//</span>
+<a name="l00289"></a>00289 <span class="comment">// write4bits</span>
+<a name="l00290"></a>00290 <span class="keywordtype">void</span> LiquidCrystal::writeNbits(uint8_t value, uint8_t numBits) 
+<a name="l00291"></a>00291 {
+<a name="l00292"></a>00292    <span class="keywordflow">for</span> (uint8_t i = 0; i &lt; numBits; i++) 
+<a name="l00293"></a>00293    {
+<a name="l00294"></a>00294       digitalWrite(_data_pins[i], (value &gt;&gt; i) &amp; 0x01);
+<a name="l00295"></a>00295    }
+<a name="l00296"></a>00296    pulseEnable();
+<a name="l00297"></a>00297 }
 <a name="l00298"></a>00298 
+<a name="l00299"></a>00299 
 </pre></div></div>
 </div>
 <!-- window showing the filter options -->
 </iframe>
 </div>
 
-<hr class="footer"/><address class="footer"><small>Generated on Wed Mar 14 2012 00:39:12 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 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/_liquid_crystal_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.1</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</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 Wed Mar 14 2012 00:39:12 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 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/_liquid_crystal_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.1</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</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 Wed Mar 14 2012 00:39:12 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 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/_liquid_crystal___i2_c_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.1</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</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 Wed Mar 14 2012 00:39:12 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 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/_liquid_crystal___i2_c_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.1</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</span></div>
    <div id="projectbrief">LCD Library - LCD control class hierarchy library. Drop in replacement for the LiquidCrystal Library.</div>
   </td>
  </tr>
 <a name="l00159"></a>00159 {
 <a name="l00160"></a>00160    _backlightPinMask = ( 1 &lt;&lt; value );
 <a name="l00161"></a>00161    <a class="code" href="class_l_c_d.html#a990338759d2abe10b0fb1743b7789566">_polarity</a> = pol;
-<a name="l00162"></a>00162 }
-<a name="l00163"></a>00163 
-<a name="l00164"></a>00164 <span class="comment">//</span>
-<a name="l00165"></a>00165 <span class="comment">// setBacklight</span>
-<a name="l00166"></a><a class="code" href="class_liquid_crystal___i2_c.html#af11b8fa0082616e2b6e6e4238589d8a8">00166</a> <span class="keywordtype">void</span> <a class="code" href="class_liquid_crystal___i2_c.html#af11b8fa0082616e2b6e6e4238589d8a8">LiquidCrystal_I2C::setBacklight</a>( uint8_t value ) 
-<a name="l00167"></a>00167 {
-<a name="l00168"></a>00168    <span class="comment">// Check if backlight is available</span>
-<a name="l00169"></a>00169    <span class="comment">// ----------------------------------------------------</span>
-<a name="l00170"></a>00170    <span class="keywordflow">if</span> ( _backlightPinMask != 0x0 )
-<a name="l00171"></a>00171    {
-<a name="l00172"></a>00172       <span class="comment">// Check for polarity to configure mask accordingly</span>
-<a name="l00173"></a>00173       <span class="comment">// ----------------------------------------------------------</span>
-<a name="l00174"></a>00174       <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="l00175"></a>00175            ((<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="l00176"></a>00176       {
-<a name="l00177"></a>00177          _backlightStsMask = _backlightPinMask &amp; <a class="code" href="_liquid_crystal___i2_c_8cpp.html#ac059d24dfe9c1e1f7c07cb7869a1833b">LCD_BACKLIGHT</a>;
-<a name="l00178"></a>00178       }
-<a name="l00179"></a>00179       <span class="keywordflow">else</span> 
-<a name="l00180"></a>00180       {
-<a name="l00181"></a>00181          _backlightStsMask = _backlightPinMask &amp; <a class="code" href="_liquid_crystal___i2_c_8cpp.html#a65fa786d6e31fe8b1aa51784a9736581">LCD_NOBACKLIGHT</a>;
-<a name="l00182"></a>00182       }
-<a name="l00183"></a>00183       _i2cio.<a class="code" href="class_i2_c_i_o.html#ae2063569c927d0008e2593d14504fdcd">write</a>( _backlightStsMask );
-<a name="l00184"></a>00184    }
-<a name="l00185"></a>00185 }
-<a name="l00186"></a>00186 
+<a name="l00162"></a>00162    <a class="code" href="class_liquid_crystal___i2_c.html#af11b8fa0082616e2b6e6e4238589d8a8">setBacklight</a>(<a class="code" href="_l_c_d_8h.html#a0f50ae3b4bdb42dd5ad74b2c604a7515">BACKLIGHT_OFF</a>);
+<a name="l00163"></a>00163 }
+<a name="l00164"></a>00164 
+<a name="l00165"></a>00165 <span class="comment">//</span>
+<a name="l00166"></a>00166 <span class="comment">// setBacklight</span>
+<a name="l00167"></a><a class="code" href="class_liquid_crystal___i2_c.html#af11b8fa0082616e2b6e6e4238589d8a8">00167</a> <span class="keywordtype">void</span> <a class="code" href="class_liquid_crystal___i2_c.html#af11b8fa0082616e2b6e6e4238589d8a8">LiquidCrystal_I2C::setBacklight</a>( uint8_t value ) 
+<a name="l00168"></a>00168 {
+<a name="l00169"></a>00169    <span class="comment">// Check if backlight is available</span>
+<a name="l00170"></a>00170    <span class="comment">// ----------------------------------------------------</span>
+<a name="l00171"></a>00171    <span class="keywordflow">if</span> ( _backlightPinMask != 0x0 )
+<a name="l00172"></a>00172    {
+<a name="l00173"></a>00173       <span class="comment">// Check for polarity to configure mask accordingly</span>
+<a name="l00174"></a>00174       <span class="comment">// ----------------------------------------------------------</span>
+<a name="l00175"></a>00175       <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="l00176"></a>00176            ((<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="l00177"></a>00177       {
+<a name="l00178"></a>00178          _backlightStsMask = _backlightPinMask &amp; <a class="code" href="_liquid_crystal___i2_c_8cpp.html#ac059d24dfe9c1e1f7c07cb7869a1833b">LCD_BACKLIGHT</a>;
+<a name="l00179"></a>00179       }
+<a name="l00180"></a>00180       <span class="keywordflow">else</span> 
+<a name="l00181"></a>00181       {
+<a name="l00182"></a>00182          _backlightStsMask = _backlightPinMask &amp; <a class="code" href="_liquid_crystal___i2_c_8cpp.html#a65fa786d6e31fe8b1aa51784a9736581">LCD_NOBACKLIGHT</a>;
+<a name="l00183"></a>00183       }
+<a name="l00184"></a>00184       _i2cio.<a class="code" href="class_i2_c_i_o.html#ae2063569c927d0008e2593d14504fdcd">write</a>( _backlightStsMask );
+<a name="l00185"></a>00185    }
+<a name="l00186"></a>00186 }
 <a name="l00187"></a>00187 
-<a name="l00188"></a>00188 <span class="comment">// PRIVATE METHODS</span>
-<a name="l00189"></a>00189 <span class="comment">// ---------------------------------------------------------------------------</span>
-<a name="l00190"></a>00190 
-<a name="l00191"></a>00191 <span class="comment">//</span>
-<a name="l00192"></a>00192 <span class="comment">// init</span>
-<a name="l00193"></a>00193 <span class="keywordtype">int</span> LiquidCrystal_I2C::init()
-<a name="l00194"></a>00194 {
-<a name="l00195"></a>00195    <span class="keywordtype">int</span> status = 0;
-<a name="l00196"></a>00196    
-<a name="l00197"></a>00197    <span class="comment">// initialize the backpack IO expander</span>
-<a name="l00198"></a>00198    <span class="comment">// and display functions.</span>
-<a name="l00199"></a>00199    <span class="comment">// ------------------------------------------------------------------------</span>
-<a name="l00200"></a>00200    <span class="keywordflow">if</span> ( _i2cio.<a class="code" href="class_i2_c_i_o.html#a6f814653d903dc2ff6e8420eeb7954ae">begin</a> ( _Addr ) == 1 )
-<a name="l00201"></a>00201    {
-<a name="l00202"></a>00202       _i2cio.<a class="code" href="class_i2_c_i_o.html#a0341888753bc54c4384f5593a870fb34">portMode</a> ( OUTPUT );  <span class="comment">// Set the entire IO extender to OUTPUT</span>
-<a name="l00203"></a>00203       <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#a9ef57e724c1b846dae0f531aff6fb464">LCD_5x8DOTS</a>;
-<a name="l00204"></a>00204       status = 1;
-<a name="l00205"></a>00205       _i2cio.<a class="code" href="class_i2_c_i_o.html#ae2063569c927d0008e2593d14504fdcd">write</a>(0);  <span class="comment">// Set the entire port to LOW</span>
-<a name="l00206"></a>00206    }
-<a name="l00207"></a>00207    <span class="keywordflow">return</span> ( status );
-<a name="l00208"></a>00208 }
-<a name="l00209"></a>00209 
-<a name="l00210"></a>00210 <span class="comment">//</span>
-<a name="l00211"></a>00211 <span class="comment">// config</span>
-<a name="l00212"></a>00212 <span class="keywordtype">void</span> LiquidCrystal_I2C::config (uint8_t lcd_Addr, uint8_t En, uint8_t Rw, uint8_t Rs, 
-<a name="l00213"></a>00213                                 uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7 )
-<a name="l00214"></a>00214 {
-<a name="l00215"></a>00215    _Addr = lcd_Addr;
-<a name="l00216"></a>00216    
-<a name="l00217"></a>00217    _backlightPinMask = 0;
-<a name="l00218"></a>00218    _backlightStsMask = <a class="code" href="_liquid_crystal___i2_c_8cpp.html#a65fa786d6e31fe8b1aa51784a9736581">LCD_NOBACKLIGHT</a>;
-<a name="l00219"></a>00219    <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="l00220"></a>00220    
-<a name="l00221"></a>00221    _En = ( 1 &lt;&lt; En );
-<a name="l00222"></a>00222    _Rw = ( 1 &lt;&lt; Rw );
-<a name="l00223"></a>00223    _Rs = ( 1 &lt;&lt; Rs );
-<a name="l00224"></a>00224    
-<a name="l00225"></a>00225    <span class="comment">// Initialise pin mapping</span>
-<a name="l00226"></a>00226    _data_pins[0] = ( 1 &lt;&lt; d4 );
-<a name="l00227"></a>00227    _data_pins[1] = ( 1 &lt;&lt; d5 );
-<a name="l00228"></a>00228    _data_pins[2] = ( 1 &lt;&lt; d6 );
-<a name="l00229"></a>00229    _data_pins[3] = ( 1 &lt;&lt; d7 );   
-<a name="l00230"></a>00230 }
-<a name="l00231"></a>00231 
+<a name="l00188"></a>00188 
+<a name="l00189"></a>00189 <span class="comment">// PRIVATE METHODS</span>
+<a name="l00190"></a>00190 <span class="comment">// ---------------------------------------------------------------------------</span>
+<a name="l00191"></a>00191 
+<a name="l00192"></a>00192 <span class="comment">//</span>
+<a name="l00193"></a>00193 <span class="comment">// init</span>
+<a name="l00194"></a>00194 <span class="keywordtype">int</span> LiquidCrystal_I2C::init()
+<a name="l00195"></a>00195 {
+<a name="l00196"></a>00196    <span class="keywordtype">int</span> status = 0;
+<a name="l00197"></a>00197    
+<a name="l00198"></a>00198    <span class="comment">// initialize the backpack IO expander</span>
+<a name="l00199"></a>00199    <span class="comment">// and display functions.</span>
+<a name="l00200"></a>00200    <span class="comment">// ------------------------------------------------------------------------</span>
+<a name="l00201"></a>00201    <span class="keywordflow">if</span> ( _i2cio.<a class="code" href="class_i2_c_i_o.html#a6f814653d903dc2ff6e8420eeb7954ae">begin</a> ( _Addr ) == 1 )
+<a name="l00202"></a>00202    {
+<a name="l00203"></a>00203       _i2cio.<a class="code" href="class_i2_c_i_o.html#a0341888753bc54c4384f5593a870fb34">portMode</a> ( OUTPUT );  <span class="comment">// Set the entire IO extender to OUTPUT</span>
+<a name="l00204"></a>00204       <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#a9ef57e724c1b846dae0f531aff6fb464">LCD_5x8DOTS</a>;
+<a name="l00205"></a>00205       status = 1;
+<a name="l00206"></a>00206       _i2cio.<a class="code" href="class_i2_c_i_o.html#ae2063569c927d0008e2593d14504fdcd">write</a>(0);  <span class="comment">// Set the entire port to LOW</span>
+<a name="l00207"></a>00207    }
+<a name="l00208"></a>00208    <span class="keywordflow">return</span> ( status );
+<a name="l00209"></a>00209 }
+<a name="l00210"></a>00210 
+<a name="l00211"></a>00211 <span class="comment">//</span>
+<a name="l00212"></a>00212 <span class="comment">// config</span>
+<a name="l00213"></a>00213 <span class="keywordtype">void</span> LiquidCrystal_I2C::config (uint8_t lcd_Addr, uint8_t En, uint8_t Rw, uint8_t Rs, 
+<a name="l00214"></a>00214                                 uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7 )
+<a name="l00215"></a>00215 {
+<a name="l00216"></a>00216    _Addr = lcd_Addr;
+<a name="l00217"></a>00217    
+<a name="l00218"></a>00218    _backlightPinMask = 0;
+<a name="l00219"></a>00219    _backlightStsMask = <a class="code" href="_liquid_crystal___i2_c_8cpp.html#a65fa786d6e31fe8b1aa51784a9736581">LCD_NOBACKLIGHT</a>;
+<a name="l00220"></a>00220    <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="l00221"></a>00221    
+<a name="l00222"></a>00222    _En = ( 1 &lt;&lt; En );
+<a name="l00223"></a>00223    _Rw = ( 1 &lt;&lt; Rw );
+<a name="l00224"></a>00224    _Rs = ( 1 &lt;&lt; Rs );
+<a name="l00225"></a>00225    
+<a name="l00226"></a>00226    <span class="comment">// Initialise pin mapping</span>
+<a name="l00227"></a>00227    _data_pins[0] = ( 1 &lt;&lt; d4 );
+<a name="l00228"></a>00228    _data_pins[1] = ( 1 &lt;&lt; d5 );
+<a name="l00229"></a>00229    _data_pins[2] = ( 1 &lt;&lt; d6 );
+<a name="l00230"></a>00230    _data_pins[3] = ( 1 &lt;&lt; d7 );   
+<a name="l00231"></a>00231 }
 <a name="l00232"></a>00232 
 <a name="l00233"></a>00233 
-<a name="l00234"></a>00234 <span class="comment">// low level data pushing commands</span>
-<a name="l00235"></a>00235 <span class="comment">//----------------------------------------------------------------------------</span>
-<a name="l00236"></a>00236 
-<a name="l00237"></a>00237 <span class="comment">//</span>
-<a name="l00238"></a>00238 <span class="comment">// send - write either command or data</span>
-<a name="l00239"></a><a class="code" href="class_liquid_crystal___i2_c.html#a8bf1fab7efe13e8b17b96c42d1f810b4">00239</a> <span class="keywordtype">void</span> <a class="code" href="class_liquid_crystal___i2_c.html#a8bf1fab7efe13e8b17b96c42d1f810b4">LiquidCrystal_I2C::send</a>(uint8_t value, uint8_t mode) 
-<a name="l00240"></a>00240 {
-<a name="l00241"></a>00241    <span class="comment">// No need to use the delay routines since the time taken to write takes</span>
-<a name="l00242"></a>00242    <span class="comment">// longer that what is needed both for toggling and enable pin an to execute</span>
-<a name="l00243"></a>00243    <span class="comment">// the command.</span>
-<a name="l00244"></a>00244    
-<a name="l00245"></a>00245    <span class="keywordflow">if</span> ( mode == <a class="code" href="_l_c_d_8h.html#aa1e30e32b6c2cf8d90a9281328472dbe">FOUR_BITS</a> )
-<a name="l00246"></a>00246    {
-<a name="l00247"></a>00247       write4bits( (value &amp; 0x0F), <a class="code" href="_l_c_d_8h.html#ab0d87e07831e7e4943caef187872123e">COMMAND</a> );
-<a name="l00248"></a>00248    }
-<a name="l00249"></a>00249    <span class="keywordflow">else</span> 
-<a name="l00250"></a>00250    {
-<a name="l00251"></a>00251       write4bits( (value &gt;&gt; 4), mode );
-<a name="l00252"></a>00252       write4bits( (value &amp; 0x0F), mode);
-<a name="l00253"></a>00253    }
-<a name="l00254"></a>00254 }
-<a name="l00255"></a>00255 
-<a name="l00256"></a>00256 <span class="comment">//</span>
-<a name="l00257"></a>00257 <span class="comment">// write4bits</span>
-<a name="l00258"></a>00258 <span class="keywordtype">void</span> LiquidCrystal_I2C::write4bits ( uint8_t value, uint8_t mode ) 
-<a name="l00259"></a>00259 {
-<a name="l00260"></a>00260    uint8_t pinMapValue = 0;
-<a name="l00261"></a>00261    
-<a name="l00262"></a>00262    <span class="comment">// Map the value to LCD pin mapping</span>
-<a name="l00263"></a>00263    <span class="comment">// --------------------------------</span>
-<a name="l00264"></a>00264    <span class="keywordflow">for</span> ( uint8_t i = 0; i &lt; 4; i++ )
-<a name="l00265"></a>00265    {
-<a name="l00266"></a>00266       <span class="keywordflow">if</span> ( ( value &amp; 0x1 ) == 1 )
-<a name="l00267"></a>00267       {
-<a name="l00268"></a>00268          pinMapValue |= _data_pins[i];
-<a name="l00269"></a>00269       }
-<a name="l00270"></a>00270       value = ( value &gt;&gt; 1 );
-<a name="l00271"></a>00271    }
-<a name="l00272"></a>00272    
-<a name="l00273"></a>00273    <span class="comment">// Is it a command or data</span>
-<a name="l00274"></a>00274    <span class="comment">// -----------------------</span>
-<a name="l00275"></a>00275    <span class="keywordflow">if</span> ( mode == <a class="code" href="_l_c_d_8h.html#aad9ae913bdfab20dd94ad04ee2d5b045">DATA</a> )
-<a name="l00276"></a>00276    {
-<a name="l00277"></a>00277       mode = _Rs;
-<a name="l00278"></a>00278    }
-<a name="l00279"></a>00279    
-<a name="l00280"></a>00280    pinMapValue |= mode | _backlightStsMask;
-<a name="l00281"></a>00281    pulseEnable ( pinMapValue );
-<a name="l00282"></a>00282 }
-<a name="l00283"></a>00283 
-<a name="l00284"></a>00284 <span class="comment">//</span>
-<a name="l00285"></a>00285 <span class="comment">// pulseEnable</span>
-<a name="l00286"></a>00286 <span class="keywordtype">void</span> LiquidCrystal_I2C::pulseEnable (uint8_t data)
-<a name="l00287"></a>00287 {
-<a name="l00288"></a>00288    _i2cio.<a class="code" href="class_i2_c_i_o.html#ae2063569c927d0008e2593d14504fdcd">write</a> (data | _En);   <span class="comment">// En HIGH</span>
-<a name="l00289"></a>00289    _i2cio.<a class="code" href="class_i2_c_i_o.html#ae2063569c927d0008e2593d14504fdcd">write</a> (data &amp; ~_En);  <span class="comment">// En LOW</span>
-<a name="l00290"></a>00290 }
+<a name="l00234"></a>00234 
+<a name="l00235"></a>00235 <span class="comment">// low level data pushing commands</span>
+<a name="l00236"></a>00236 <span class="comment">//----------------------------------------------------------------------------</span>
+<a name="l00237"></a>00237 
+<a name="l00238"></a>00238 <span class="comment">//</span>
+<a name="l00239"></a>00239 <span class="comment">// send - write either command or data</span>
+<a name="l00240"></a><a class="code" href="class_liquid_crystal___i2_c.html#a8bf1fab7efe13e8b17b96c42d1f810b4">00240</a> <span class="keywordtype">void</span> <a class="code" href="class_liquid_crystal___i2_c.html#a8bf1fab7efe13e8b17b96c42d1f810b4">LiquidCrystal_I2C::send</a>(uint8_t value, uint8_t mode) 
+<a name="l00241"></a>00241 {
+<a name="l00242"></a>00242    <span class="comment">// No need to use the delay routines since the time taken to write takes</span>
+<a name="l00243"></a>00243    <span class="comment">// longer that what is needed both for toggling and enable pin an to execute</span>
+<a name="l00244"></a>00244    <span class="comment">// the command.</span>
+<a name="l00245"></a>00245    
+<a name="l00246"></a>00246    <span class="keywordflow">if</span> ( mode == <a class="code" href="_l_c_d_8h.html#aa1e30e32b6c2cf8d90a9281328472dbe">FOUR_BITS</a> )
+<a name="l00247"></a>00247    {
+<a name="l00248"></a>00248       write4bits( (value &amp; 0x0F), <a class="code" href="_l_c_d_8h.html#ab0d87e07831e7e4943caef187872123e">COMMAND</a> );
+<a name="l00249"></a>00249    }
+<a name="l00250"></a>00250    <span class="keywordflow">else</span> 
+<a name="l00251"></a>00251    {
+<a name="l00252"></a>00252       write4bits( (value &gt;&gt; 4), mode );
+<a name="l00253"></a>00253       write4bits( (value &amp; 0x0F), mode);
+<a name="l00254"></a>00254    }
+<a name="l00255"></a>00255 }
+<a name="l00256"></a>00256 
+<a name="l00257"></a>00257 <span class="comment">//</span>
+<a name="l00258"></a>00258 <span class="comment">// write4bits</span>
+<a name="l00259"></a>00259 <span class="keywordtype">void</span> LiquidCrystal_I2C::write4bits ( uint8_t value, uint8_t mode ) 
+<a name="l00260"></a>00260 {
+<a name="l00261"></a>00261    uint8_t pinMapValue = 0;
+<a name="l00262"></a>00262    
+<a name="l00263"></a>00263    <span class="comment">// Map the value to LCD pin mapping</span>
+<a name="l00264"></a>00264    <span class="comment">// --------------------------------</span>
+<a name="l00265"></a>00265    <span class="keywordflow">for</span> ( uint8_t i = 0; i &lt; 4; i++ )
+<a name="l00266"></a>00266    {
+<a name="l00267"></a>00267       <span class="keywordflow">if</span> ( ( value &amp; 0x1 ) == 1 )
+<a name="l00268"></a>00268       {
+<a name="l00269"></a>00269          pinMapValue |= _data_pins[i];
+<a name="l00270"></a>00270       }
+<a name="l00271"></a>00271       value = ( value &gt;&gt; 1 );
+<a name="l00272"></a>00272    }
+<a name="l00273"></a>00273    
+<a name="l00274"></a>00274    <span class="comment">// Is it a command or data</span>
+<a name="l00275"></a>00275    <span class="comment">// -----------------------</span>
+<a name="l00276"></a>00276    <span class="keywordflow">if</span> ( mode == <a class="code" href="_l_c_d_8h.html#aad9ae913bdfab20dd94ad04ee2d5b045">DATA</a> )
+<a name="l00277"></a>00277    {
+<a name="l00278"></a>00278       mode = _Rs;
+<a name="l00279"></a>00279    }
+<a name="l00280"></a>00280    
+<a name="l00281"></a>00281    pinMapValue |= mode | _backlightStsMask;
+<a name="l00282"></a>00282    pulseEnable ( pinMapValue );
+<a name="l00283"></a>00283 }
+<a name="l00284"></a>00284 
+<a name="l00285"></a>00285 <span class="comment">//</span>
+<a name="l00286"></a>00286 <span class="comment">// pulseEnable</span>
+<a name="l00287"></a>00287 <span class="keywordtype">void</span> LiquidCrystal_I2C::pulseEnable (uint8_t data)
+<a name="l00288"></a>00288 {
+<a name="l00289"></a>00289    _i2cio.<a class="code" href="class_i2_c_i_o.html#ae2063569c927d0008e2593d14504fdcd">write</a> (data | _En);   <span class="comment">// En HIGH</span>
+<a name="l00290"></a>00290    _i2cio.<a class="code" href="class_i2_c_i_o.html#ae2063569c927d0008e2593d14504fdcd">write</a> (data &amp; ~_En);  <span class="comment">// En LOW</span>
+<a name="l00291"></a>00291 }
 </pre></div></div>
 </div>
 <!-- window showing the filter options -->
 </iframe>
 </div>
 
-<hr class="footer"/><address class="footer"><small>Generated on Wed Mar 14 2012 00:39:12 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 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/_liquid_crystal___i2_c_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.1</span></div>
+   <div id="projectname">LCD Library&#160;<span id="projectnumber">1.2.0</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 Wed Mar 14 2012 00:39:12 for LCD Library by&#160;
+<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 16 2012 21:24:40 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/_liquid_crystal___i2_c_8h_source.html