diff --git a/README.md b/README.md index 1681eef..00c2a92 100644 --- a/README.md +++ b/README.md @@ -23,20 +23,30 @@ ___ ```C #include "AVR_ATMEGA_1602LCD.h" -void lcd_begin() { - set_lcd_two_line(); - return_home_lcd(); - clear_lcd(); +void do_stuff() { + PORTD = 0x00; + DDRD = 0xff; + init_lcd(); - //Do stuff. + return_home_lcd(); + set_entry_mode_increment_lcd(); + + //Refernce the datasheet for charecter codes. + write_lcd_address(0x7f); //Right pointing arrow + + //wait a bit. + _delay_ms(1000); + + //clear it up + clear_lcd(); + return_home_lcd(); + + //Do more stuff... } ``` ## RoadMap: -1. define all functions for the data sheets instructions. -2. Change cmd_lcd() function to only be called once instead of nibbles. -3. Make functions port indapendant. 4. ADD function to print strings 5. ADD function to display bit images 6. ADD function to act as a loading screen. @@ -45,4 +55,13 @@ void lcd_begin() { 9. ADD PWM control for backlight +## ISSUES: + +Currently during powerloss events and initialization, long wire runs or +residual charge can cause the LCD to maintain memory for a shor duration. + +In 4bit mode it's possible to end up with a invalid "nibble" in the LCD memory +in this case the system should power cycle the LCD unit assuming it's +controlled by the microcontroller. +