TextLCD library for controlling various LCD panels based on the HD44780 4-bit interface (does not contain blocking code)
Fork of TextLCD by
Revision 9:057d7d076a35, committed 2015-11-02
- Comitter:
- abiswas25
- Date:
- Mon Nov 02 17:52:25 2015 +0000
- Parent:
- 8:308d188a2d3a
- Commit message:
- Removed wait statements (blocking code) which was causing problems while using with Ticker class (or any other class which prohibits use of blocking code)
Changed in this revision
TextLCD.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/TextLCD.cpp Thu Jan 02 21:07:01 2014 +0000 +++ b/TextLCD.cpp Mon Nov 02 17:52:25 2015 +0000 @@ -31,15 +31,15 @@ _e = 1; _rs = 0; // command mode - wait(0.015); // Wait 15ms to ensure powered up + for(int z=0;z<240000;z++); // Wait 15ms to ensure powered up // send "Display Settings" 3 times (Only top nibble of 0x30 as we've got 4-bit bus) for (int i=0; i<3; i++) { writeByte(0x3); - wait(0.00164); // this command takes 1.64ms, so wait for it + for(int z=0;z<78720;z++); // this command takes 1.64ms, so wait for it } writeByte(0x2); // 4-bit mode - wait(0.000040f); // most instructions take 40us + for(int z=0;z<1920;z++); // most instructions take 40us writeCommand(0x28); // Function set 001 BW N F - - writeCommand(0x0C); @@ -55,7 +55,7 @@ void TextLCD::cls() { writeCommand(0x01); // cls, and set cursor to 0 - wait(0.00164f); // This command takes 1.64 ms + for(int z=0;z<78720;z++); // This command takes 1.64 ms locate(0, 0); } @@ -91,14 +91,14 @@ void TextLCD::writeByte(int value) { _d = value >> 4; - wait(0.000040f); // most instructions take 40us + for(int z=0;z<1920;z++); // most instructions take 40us _e = 0; - wait(0.000040f); + for(int z=0;z<1920;z++); _e = 1; _d = value >> 0; - wait(0.000040f); + for(int z=0;z<1920;z++); _e = 0; - wait(0.000040f); // most instructions take 40us + for(int z=0;z<1920;z++); // most instructions take 40us _e = 1; }