diff options
Diffstat (limited to 'include/lcd.h')
-rw-r--r-- | include/lcd.h | 50 |
1 files changed, 45 insertions, 5 deletions
diff --git a/include/lcd.h b/include/lcd.h index 441d463..378aac4 100644 --- a/include/lcd.h +++ b/include/lcd.h @@ -1,23 +1,63 @@ +/** + * @file lcd.h + * A basic library for writing a 16x2 text LCD. + */ + #ifndef LCD_H_ #define LCD_H_ #include <stdint.h> /** - * Direct access + * A handler/task to manage asyncronous LCD writes. + */ +void lcd_handler(void); + +/** + * Writes a string asyncronously to the LCD. + * The lcd_handler task must be running for the string to actually be printed. + * @param s the string to write + */ +void lcd_put(const char *s); + +// +// The following functions do not support asyncronous calls. +// + +/** + * Initializes the LCD. */ void lcd_init(void); +/** + * Writes a string to the LCD. + * A cursor position is kept internally. When the end of the screen is reached, + * writing resumes at the first position. + * @param s the string to write + */ void lcd_puts(const char *s); + +/** + * Writes a base 10 integer to the screen. + * @param i the integer to print + */ void lcd_puti(int i); + +/** + * Writes a base 16 integer to the screen. + * @param h the integer to print + */ void lcd_puth(int h); + +/** + * Writes a byte in binary to the screen. + * @param b the byte to print + */ void lcd_putb(uint8_t b); -void lcd_clear(void); /** - * Buffered/async access + * Clears the LCD. */ -void lcd_handler(void); -void lcd_put(const char *s); +void lcd_clear(void); #endif // LCD_H_ |