/** \file server/drivers/hd44780-drivers.h * Interface to low-level driver types, headers and names. * * To add support for a new driver in this file: * -# include your header file * -# Add a new connectionType * -# Add an entry in the \c ConnectionMapping structure */ #ifndef HD44780_DRIVERS_H #define HD44780_DRIVERS_H // hd44780 specific header files #ifdef HAVE_PCSTYLE_LPT_CONTROL # include "hd44780-4bit.h" # include "hd44780-ext8bit.h" # include "hd44780-serialLpt.h" # include "hd44780-winamp.h" #endif #include "hd44780-serial.h" #include "hd44780-lis2.h" #ifdef HAVE_LIBUSB # include "hd44780-bwct-usb.h" # include "hd44780-lcd2usb.h" # include "hd44780-usbtiny.h" # include "hd44780-uss720.h" #endif #ifdef HAVE_LIBFTDI # include "hd44780-ftdi.h" #endif #ifdef HAVE_I2C # include "hd44780-i2c.h" #endif #ifdef WITH_ETHLCD # include "hd44780-ethlcd.h" #endif # include "hd44780-usblcd.h" // add new connection type header files here /** connectionType mapping table: * - string to identify connection in config file * - connection type identifier * - interface type * - initialisation function */ static const ConnectionMapping connectionMapping[] = { #ifdef HAVE_PCSTYLE_LPT_CONTROL /* parallel connection types */ { "4bit", HD44780_CT_4BIT, IF_TYPE_PARPORT, hd_init_4bit }, { "8bit", HD44780_CT_8BIT, IF_TYPE_PARPORT, hd_init_ext8bit }, { "serialLpt", HD44780_CT_SERIALLPT, IF_TYPE_PARPORT, hd_init_serialLpt }, { "winamp", HD44780_CT_WINAMP, IF_TYPE_PARPORT, hd_init_winamp }, #endif /* serial connection types */ { "picanlcd", HD44780_CT_PICANLCD, IF_TYPE_SERIAL, hd_init_serial }, { "lcdserializer", HD44780_CT_LCDSERIALIZER, IF_TYPE_SERIAL, hd_init_serial }, { "los-panel", HD44780_CT_LOS_PANEL, IF_TYPE_SERIAL, hd_init_serial }, { "vdr-lcd", HD44780_CT_VDR_LCD, IF_TYPE_SERIAL, hd_init_serial }, { "vdr-wakeup", HD44780_CT_VDR_WAKEUP, IF_TYPE_SERIAL, hd_init_serial }, { "pertelian", HD44780_CT_PERTELIAN, IF_TYPE_SERIAL, hd_init_serial }, /* USB connection types */ { "lis2", HD44780_CT_LIS2, IF_TYPE_USB, hd_init_lis2 }, { "mplay", HD44780_CT_MPLAY, IF_TYPE_USB, hd_init_lis2 }, { "usblcd", HD44780_CT_USBLCD, IF_TYPE_USB, hd_init_usblcd }, #ifdef HAVE_LIBUSB { "bwctusb", HD44780_CT_BWCTUSB, IF_TYPE_USB, hd_init_bwct_usb }, { "lcd2usb", HD44780_CT_LCD2USB, IF_TYPE_USB, hd_init_lcd2usb }, { "usbtiny", HD44780_CT_USBTINY, IF_TYPE_USB, hd_init_usbtiny }, { "uss720", HD44780_CT_USS720, IF_TYPE_USB, hd_init_uss720 }, #endif #ifdef HAVE_LIBFTDI { "ftdi", HD44780_CT_FTDI, IF_TYPE_USB, hd_init_ftdi }, #endif /* I2C connection types */ #ifdef HAVE_I2C { "i2c", HD44780_CT_I2C, IF_TYPE_I2C, hd_init_i2c }, #endif /* TCP socket connection types */ #ifdef WITH_ETHLCD { "ethlcd", HD44780_CT_ETHLCD, IF_TYPE_TCP, hd_init_ethlcd }, #endif // add new connection types here // .... // default, end of structure element (do not delete) { NULL, HD44780_CT_UNKNOWN, IF_TYPE_UNKNOWN, NULL } }; #endif