#ifndef defines_lcd #define defines_lcd #include #include #include #include "i2cmaster.h" // LCD Commands // --------------------------------------------------------------------------- #define LCD_CLEARDISPLAY 0x01 #define LCD_RETURNHOME 0x02 #define LCD_ENTRYMODESET 0x04 #define LCD_DISPLAYCONTROL 0x08 #define LCD_CURSORSHIFT 0x10 #define LCD_FUNCTIONSET 0x20 #define LCD_SETCGRAMADDR 0x40 #define LCD_SETDDRAMADDR 0x80 // flags for display entry mode // --------------------------------------------------------------------------- #define LCD_ENTRYRIGHT 0x00 #define LCD_ENTRYLEFT 0x02 #define LCD_ENTRYSHIFTINCREMENT 0x01 #define LCD_ENTRYSHIFTDECREMENT 0x00 // flags for display on/off and cursor control // --------------------------------------------------------------------------- #define LCD_DISPLAYON 0x04 #define LCD_DISPLAYOFF 0x00 #define LCD_CURSORON 0x02 #define LCD_CURSOROFF 0x00 #define LCD_BLINKON 0x01 #define LCD_BLINKOFF 0x00 // flags for display/cursor shift // --------------------------------------------------------------------------- #define LCD_DISPLAYMOVE 0x08 #define LCD_CURSORMOVE 0x00 #define LCD_MOVERIGHT 0x04 #define LCD_MOVELEFT 0x00 // flags for function set // --------------------------------------------------------------------------- #define LCD_8BITMODE 0x10 #define LCD_4BITMODE 0x00 #define LCD_2LINE 0x08 #define LCD_1LINE 0x00 #define LCD_5x10DOTS 0x04 #define LCD_5x8DOTS 0x00 // Define COMMAND and DATA LCD Rs (used by send method). // --------------------------------------------------------------------------- #define COMMAND 0 #define LCD_DATA 1 #define FOUR_BITS 2 #define HOME_CLEAR_EXEC 2000 #define LCD_ADDRESS 0x27 void lcd_init(uint8_t cols, uint8_t lines); void lcd_clear(); void lcd_home(); void lcd_setCursor(uint8_t col, uint8_t row); void lcd_write(uint8_t value); void lcd_createChar(uint8_t location, const char *charmap); void lcd_noDisplay() ; void lcd_display() ; void lcd_noCursor() ; void lcd_cursor() ; void lcd_noBlink() ; void lcd_blink() ; void lcd_scrollDisplayLeft(void) ; void lcd_scrollDisplayRight(void) ; void lcd_moveCursorRight(void); void lcd_moveCursorLeft(void); void lcd_leftToRight(void) ; void lcd_rightToLeft(void) ; void lcd_autoscroll(void) ; void lcd_noAutoscroll(void); #endif