#ifndef WIFI_LCD_H_ #define WIFI_LCD_H_ #include "util.h" #include #include /* Number of pixel columns */ #define LCD_NR_COLUMNS 96 /* Number of lines */ #define LCD_NR_LINES 4 /* Number of pixel columns per char */ #define LCD_PIXCOLS_PER_CHAR 6 /* Number of characters in a row */ #define LCD_NR_CHARCOLUMNS (LCD_NR_COLUMNS / LCD_PIXCOLS_PER_CHAR) #define LCD_BUFFER_SIZE (LCD_NR_COLUMNS * LCD_NR_LINES) extern uint8_t lcd_buffer[LCD_BUFFER_SIZE]; extern uint16_t lcd_cursor; void lcd_init(void); /* Print a string from RAM memory */ void printmem(const char *string, uint8_t length); /* Print a NUL terminated string from EEPROM */ void printee(const eeprom_char *eeprom_string); /* Print a NUL terminated string from flash memory */ void print(const prog_char *flash_string); /* Print a number in hexadecimal */ void printhex(uint8_t number); /* Print a number in decimal */ void printdec(uint16_t number); void lcd_char_out(uint8_t c); void lcd_clear_buffer(void); void lcd_commit(void); void lcd_backlight_on(void); void lcd_backlight_off(void); static inline void lcd_charcursor(uint8_t line, uint8_t column) { lcd_cursor = (line * LCD_NR_COLUMNS) + (column * LCD_PIXCOLS_PER_CHAR); } #endif /* WIFI_LCD_H_ */