F Malpartida avatar F Malpartida committed b215179

Edited online

Comments (0)

Files changed (1)

 
 {{https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads/I2CLCDextraIO_assemblyProject_small.jpg|LCD library}}
 
-Welcome to the LCD Library for Arduino. This library is a derivate of the original LiquidCrystal Library as sourced in the Arduino SDK. The library supports most Hitachi HD44780 based LCDs or compatible connected to any project using: 4, 8 wire parallel interface, I2C IO port expander and Shift Regiter.
+Welcome to the //LCD Library// for Arduino. It is a derivate of the original LiquidCrystal Library as sourced in the Arduino SDK. However, it supports most Hitachi HD44780 based LCDs, or compatible, connected to any project using: 4, 8 wire parallel interface, I2C IO port expander and Shift Regiter.
 
-The LCD library is based on the [[I2CIO|I2CIO driver library]] for the PCF8574* I2C IO expander ASIC.
+The //LCD library// is based on the [[I2CIO|I2CIO driver library]] for the PCF8574* I2C IO expander ASIC.
 
-The library currently supports 4 types of connections:
+It currently supports 4 types of connections:
 * 4 bit parallel LCD interface
 * 8 bit parallel LCD interface
 * I2C IO bus expansion board with the PCF8574* I2C IO expander ASIC.
 * ShiftRegister adaptor board as described [[http://code.google.com/p/arduinoshiftreglcd/|Shift Register project home]] - Not tested yet.
 
-=== Library Usage ===
+=== Usage ===
 
-The way the library is used is just like the current LiquidCrystal LCD library. You only have to tell it what type of LCD you want to use in your project. The main difference is that the LCD library is a "collection" of libraries with the same common interface (a class hierarchy - in the technical jargon).
-
-Being a "collection" of libraries with a common interface, you can develop a complete project just by using a reference to the base LCD class (a pointer to an LCD variable) and then in the project (sketch) and during the initialization (setup routine) you would just have to pass the "concrete" LCD that you are using.
-
-This is particularly useful for projects that have a MMI built-in where you would like to use it with multiple LCDs maintaining the user interface hidden from the particular LCD you are using. It is also very useful if you have a project and you don't know how you are going to connect the LCD or your change your mind halfway through the project.
+The library is used just like the current stock LiquidCrystal LCD library. You only have to tell it what type of LCD and how you have connected to your project and you are set. The main difference is that the //LCD library// is a "collection" of libraries with the same common interface (a class hierarchy with a base abstract class - in the technical jargon).
 
 Here's of how to use the library for a 4 bit LCD interface:
 {{{
 }
 }}}
 
+Being a "collection" of libraries with a common interface, you can develop a complete project just by using a reference to the base LCD class (a pointer to an "LCD variable") and then in the project (sketch) and during the initialization (setup routine) you would just have to pass the "concrete" LCD that you are using.
+
+This is particularly useful for projects that have a MMI built-in where you would like to use it with multiple LCDs maintaining the user interface hidden from the particular LCD you are using. It is also very useful if you have a project and you don't know how you are going to connect the LCD or your change your mind halfway through the project.
+
 Using the virtual LCD class in projects:
 {{{
 #!c++
 }
 }}}
 
-The only difference is the "include" and how you initialize the LCD.
+The only difference is the "include" and how you initialize the LCD. Not a bit difference, right!
 
-When you install the library it will come out with a compilation error, due to the fact that it can't find the Wire library header files. Please include Wire.h at the beginning of your sketch. Why? Because of the peculiarities of the Arduino compilation environment. I am working on a way to work around this.
+When you install the library it may come out with a compilation error. This is due to the fact that it can't find the Wire library header files. Please include Wire.h at the beginning of your sketch. Why? Because of the peculiarities of the Arduino compilation environment. I am working on a way to work around this.
 
 === Library Background ===
 
 This library provides the same interface to applications as the LiquidCrystal library sourced by the Arduino SDK. The main changes to the LiquidCrystal Library is that it has been changed to be a pure abstract class from which particular implementations derive from. 
 
-Therefore, it is possible to create new drivers to the library by simply inhering from the base class and develop the functions that are specific to accessing the LCD. 
+Therefore, it is possible to create new drivers to the library by simply inhering from the base class and develop the functions that are specific to "talk" to the LCD. 
 
 The library currently supports 3 types of connections:
 * 4 bit parallel LCD interface
 * I2C IO bus expansion board with the PCF8574* I2C IO expander ASIC.
 * ShiftRegister adaptor board as described [[http://code.google.com/p/arduinoshiftreglcd/|Shift Register project home]] - Not tested yet.
 
-The code has been fully tested with 4 bit interface and with the [[http://www.electrofunltd.com/p/i2c-lcd-extra-io.html|**I2CLCDextraIO**]] (companion board to this library) using the PCF8574* ASIC.
+The code has been fully tested with a 4 bit interface and with the [[http://www.electrofunltd.com/p/i2c-lcd-extra-io.html|**I2CLCDextraIO**]] (companion board to this library) using the PCF8574* ASIC.
 
 The library is also very easy to customize for different I2C IO expansion boards using different 
 I2C expander ASICs.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.