#ifndef LCD2x16_LIB
#define LCD2x16_LIB

#include <avr/pgmspace.h>

extern unsigned char lcd_port_locked(void);
extern void init_lcd(void);

extern void beep(u08 half_per_10us, u08 cycles);

extern void clear_disp(void);
extern void move_cursor_home(void);
extern void set_entry_mode(u08 mode);
extern void cursor_disp_ctrl(u08 state);
extern void cursor_disp_shift(u08 state);
extern void disp_function(u08 fnct);
extern void set_cgram_addr(u08 addr);
extern void set_ddram_addr(u08 addr);

extern void goto_xy(u08 x, u08 y);
extern void put_char(u08 data);
extern unsigned char put_string(char *s);
extern unsigned char put_string_xy(u08 x, u08 y, char *s);
extern unsigned char put_string_p(PGM_P str_ptr);
extern unsigned char put_string_p_xy(u08 x, u08 y, PGM_P str_ptr);
extern void put_space(u08 space);
extern void put_space_xy(u08 x, u08 y, u08 space);

#endif
