#ifndef __LCD_H_ #define __LCD_H_ #define LCD_WRITE_ADDRESS 0x50 #define LCD_READ_ADDRESS 0x51 #define MAX_LCD_BUF 120 #define LCD_PIXEL_WIDTH 192 #define LCD_PIXEL_HEIGHT 64 #define LCD_NONBLOCK 1 #define LCD_BLOCK 0 #define LCD_WRITE_BUFFER_SIZE 512 #define LCD_READ_BUFFER_SIZE 100 typedef enum {WRITE, READ} twi_mode_t; typedef enum { LCD_LED_1 = 0, LCD_LED_2, LCD_LED_3, } lcd_led_t; typedef enum { LCD_LED_YELLOW = 0, LCD_LED_GREEN, LCD_LED_RED, LCD_LED_OFF, } lcd_led_color_t; typedef enum { LCD_WHITE = 0, LCD_BLACK = 255, } lcd_color_t; void init_lcd(void); void lcd_write(char *); void lcd_write_P(const char *); void lcdnwrite(char*, uint8_t); void lcdnwrite_P(const char *, uint8_t); char lcd_poll_key(int8_t flags); char lcd_get_key(void); void lcd_clear(void); void lcd_set_brightness(uint8_t); void lcd_set_led(lcd_led_t, lcd_led_color_t); void lcd_puts(char* s); void lcd_reset_cursor(void); /* Drawing API */ void lcd_draw_rect(uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2, uint8_t color); void lcd_draw_line(uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2); void lcd_set_color(uint8_t color); #endif