#ifndef HD_LCD2USB_H
#define HD_LCD2USB_H
#include "lcd.h" /* for Driver */
#include "hd44780-low.h"
/* vendor and product id */
#define LCD2USB_VENDORID 0x0403
#define LCD2USB_PRODUCTID 0xc630
/* target is a bit map for CMD/DATA */
#define LCD2USB_CTRL_0 (1<<3)
#define LCD2USB_CTRL_1 (1<<4)
#define LCD2USB_CTRL_BOTH (LCD2USB_CTRL_0 | LCD2USB_CTRL_1)
#define LCD2USB_ECHO (0<<5)
#define LCD2USB_CMD (1<<5)
#define LCD2USB_DATA (2<<5)
#define LCD2USB_SET (3<<5)
#define LCD2USB_GET (4<<5)
/* target is value to set */
#define LCD2USB_SET_CONTRAST (LCD2USB_SET | (0<<3))
#define LCD2USB_SET_BRIGHTNESS (LCD2USB_SET | (1<<3))
#define LCD2USB_SET_RESERVED0 (LCD2USB_SET | (2<<3))
#define LCD2USB_SET_RESERVED1 (LCD2USB_SET | (3<<3))
/* target is value to get */
#define LCD2USB_GET_FWVER (LCD2USB_GET | (0<<3))
#define LCD2USB_GET_KEYS (LCD2USB_GET | (1<<3))
#define LCD2USB_GET_CTRL (LCD2USB_GET | (2<<3))
#define LCD2USB_GET_RESERVED1 (LCD2USB_GET | (3<<3))
#define DEFAULT_CONTRAST 300
#define DEFAULT_BRIGHTNESS 600
#define DEFAULT_OFFBRIGHTNESS 300
// initialise this particular driver
int hd_init_lcd2usb(Driver *drvthis);
void lcd2usb_HD44780_senddata(PrivateData *p, unsigned char displayID, unsigned char flags, unsigned char ch);
void lcd2usb_HD44780_backlight(PrivateData *p, unsigned char state);
unsigned char lcd2usb_HD44780_scankeypad(PrivateData *p);
void lcd2usb_HD44780_close(PrivateData *p);
#endif
syntax highlighted by Code2HTML, v. 0.9.1