Commits

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.

  • Participants
  • Parent commits 136180c
  • Tags V 1.2.1_RC2

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>