/** \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 #ifdef __ARMEL__ # include "hd44780-rpi.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" # include "hd44780-usb4all.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 to the correct section above or 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 }, { "usb4all", HD44780_CT_USB4ALL, IF_TYPE_USB, hd_init_usb4all }, #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 #ifdef __ARMEL__ { "rpi", HD44780_CT_4BIT, IF_TYPE_PARPORT, hd_init_rpi }, #endif /* add new connection types in the correct section above or here */ /* default, end of structure element (do not delete) */ { NULL, HD44780_CT_UNKNOWN, IF_TYPE_UNKNOWN, NULL } }; #endif