Commits

F Malpartida committed 2c3bfb7

First version of the reviewed wiki.

  • Participants
  • Parent commits 04ddb18

Comments (0)

Files changed (1)

 
 Welcome to the //LCD Library// for Arduino. It is a derivate of the original LiquidCrystal Library as 
 sourced in the Arduino SDK. It has been developed to be compatible with the current LiquidCrystal library, 
-its performance is 3.25 faster and fully extendable if need be. 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.
+its performance is 3.25 faster and fully extendable if need be. 
+
+Being faster, give your applications more time to do things that would normaly be used to
+control the LCD. So, its cool, you can do more stuff.
+
+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.
 
 It currently supports 4 types of connections:
 * 4 bit parallel LCD interface
 thanks for testing it and sharing.
 
 The LiquidCrystal_SR_LCD3 was developed, tested and integrated by [[http://marc.merlins.org|Mark Merlin]] - thanks Mark for
-testing and sharing.
+testing and sharing. It is just another way to control a 3 wire LCD. You can choose between the
+the LiquidCrystal_SR or this one.
 
 There is a nice freebe in the library: fastIO. This is a collection of fast digital read write operations
 writen by Florian Fida that make the ShiftRegister support as fast as the 4bit parallel LCD.
 
 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. All the basic functions to control
-an LCD are implemented in the base class, while the particular way to "talk" to the LCD is done
-by a class that simply knows how to write to the LCD.
+abstract class from which particular implementations derive from. 
+
+All the basic functions to control an LCD are implemented in the base class, while the particular 
+way to "talk" to the LCD is done by a class that simply knows how to write to 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. 
 * I2C IO bus expansion board with the PCF8574* I2C IO expander ASIC.
 * ShiftRegister adaptor board.
 
-The //LCD library// started as a base support for the to support the for the PCF8574* I2C IO expander 
-ASIC [[I2CIO|I2CIO driver library]] but rapidly grew to support other LCD driving mechanism.
+The //LCD library// started as a base support for the PCF8574* I2C IO expander ASIC in the
+[[http://www.electrofunltd.com/p/i2c-lcd-extra-io.html|**LCDI2CextraIO**]] board 
+but it has rapidly grown to support other LCD driving mechanism due to the simplicity of adding
+new drivers to it.
 
 Since this library is a full class hierarchy, new interfacing mechanisms can be added without having 
 to re-write the entire driver. Drivers for the MCP2300, SPI and Serial are very easy to develop since 
 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.
 
+The library is configured by default to run fast. Should you have problems with slow LCDs, you will
+have to disable the //FAST_MODE// in the LCD.h header file of the library by simply commenting the
+//FAST_MODE// define.
 
-=== Downloading and Installation ===
 
-Source code for the library and documentation can be downloaded from the download section of this 
-repository: [[https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads|here]]
 
-The library comes in source and with examples that will get you started. Additionally you have a 
-full description of the library in the docs folder in HTML format that you can browse.
-
-To install the library:
-* Download the most recent version of the library.
-* Extract the library. It should be in a subfolder of its own (something like /myLCDSketch/libraries/LCD) in your sketch or in the library folder of the Arduino distribution.
-* When you start the Arduino IDE, it should contain a new menu "LCD" with examples. (File > Examples > LCD...). It should also appear in the menu Sketch > import library.
-* Alternatively you can install the library in the Arduino SDK library pool. To install and learn about libraries please follow the instructions in [[http://www.arduino.cc/playground/Code/Library|Library Tutorial]], there is a Section in the Tutorial indicating how to install a library.
-
-//The library has been developed to replace the current Arduino library, therefore you will need to 
-remove/backup the LiquidCrystal folder from the Arduino library folder the original LiquidCrystal 
-library and replace it for this one.//
-
-Also in the download section you can find the [[I2CIO|I2CIO driver library]] for the PCF8574* I2C IO 
-expander ASIC. The library has been tested with the [[http://www.electrofunltd.com/p/i2c-lcd-extra-io.html|**LCDI2CextraIO**]] board. 
 
 === Tests ===
-All the HW configurations described in the HW section have been tested, the last one was the ShiftRegister adaptor by [[http://www.3guys1laser.com/blog-cheap-arduino-2-wire-lcd-display-0|piccaso]], thanks for testing it and sharing.
+All the HW configurations described in the HW section have been tested, the last one was the ShiftRegister 
+adaptor by [[http://www.3guys1laser.com/blog-cheap-arduino-2-wire-lcd-display-0|piccaso]], thanks for testing it and sharing.
 
-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 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.
 
 === Performance and Benchmakrs ===
 Each supported and tested library class has gone through a performance benchmark and it is compared with respect to the original LiquidCrystal library.
 [[schematics|HW schematics]]
 <<toc schematics>>
 
+=== Downloading and Installation ===
+
+Source code for the library and documentation can be downloaded from the download section of this 
+repository: [[https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads|here]]
+
+The library comes in source and with examples that will get you started. Additionally you have a 
+full description of the library in the docs folder in HTML format that you can browse.
+
+To install the library:
+* Download the most recent version of the library.
+* Extract the library. It should be in a subfolder of its own (something like /myLCDSketch/libraries/LCD) in your sketch or in the library folder of the Arduino distribution.
+* When you start the Arduino IDE, it should contain a new menu "LCD" with examples. (File > Examples > LCD...). It should also appear in the menu Sketch > import library.
+* Alternatively you can install the library in the Arduino SDK library pool. To install and learn about libraries please follow the instructions in [[http://www.arduino.cc/playground/Code/Library|Library Tutorial]], there is a Section in the Tutorial indicating how to install a library.
+
+//The library has been developed to replace the current Arduino library, therefore you will need to 
+remove/backup the LiquidCrystal folder from the Arduino library folder the original LiquidCrystal 
+library and replace it for this one.//
+
+Also in the download section you can find the [[I2CIO|I2CIO driver library]] for the PCF8574* I2C IO 
+expander ASIC.
+
 === Version ===
 Current New LiquidCrystal is the latest zip file in the download section.