1
Diff: TextLCD_Config.h
- Revision:
- 35:311be6444a39
- Parent:
- 34:e5a0dcb43ecc
- Child:
- 36:9f5f86dfd44a
--- a/TextLCD_Config.h Sat Sep 27 12:38:27 2014 +0000 +++ b/TextLCD_Config.h Fri Oct 10 15:47:56 2014 +0000 @@ -1,6 +1,7 @@ /* mbed TextLCD Library, for a 4-bit LCD based on HD44780 * Copyright (c) 2014, WH * 2014, v01: WH, Extracted from TextLCD.h as of v14 + * 2014, v02: WH, Added AC780 support, added I2C expander modules, fixed setBacklight() for inverted logic modules. Fixed bug in LCD_SPI_N define * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -28,11 +29,12 @@ #define LCD_I2C 1 /* I2C Expander PCF8574/MCP23008 */ #define LCD_SPI 1 /* SPI Expander SN74595 */ #define LCD_I2C_N 1 /* Native I2C bus */ +#define LCD_SPI_N 1 /* Native SPI bus */ #define LCD_SPI_N_3_9 1 /* Native SPI bus */ #define LCD_SPI_N_3_10 1 /* Native SPI bus */ #define LCD_SPI_N_3_16 1 /* Native SPI bus */ #define LCD_SPI_N_3_24 1 /* Native SPI bus */ -#define LCD_SPI_N_4 1 /* Native SPI bus */ + //Select options to reduce memory footprint (multiple options allowed) #define LCD_UDC 1 /* Enable predefined UDC example*/ @@ -45,6 +47,9 @@ #define DEFAULT 1 #define ADAFRUIT 0 #define DFROBOT 0 +#define YWROBOT 0 +#define GYLCD 0 +#define SYDZ 0 //Select Hardware module (one option only) #if (DEFAULT==1) @@ -69,11 +74,15 @@ //Select I2C Portexpander type (one option only) #define PCF8574 1 #define MCP23008 0 + +//Inverted Backlight control +#define BACKLIGHT_INV 0 #endif #if (ADAFRUIT==1) //Definitions for Adafruit i2cspilcdbackpack mapping between serial port expander pins and LCD controller //This hardware supports both an I2C expander (MCP23008) and an SPI expander (74595) selectable by a jumper. +//Slaveaddress may be set by solderbridges (default 0x40). SDA/SCL has pullup Resistors onboard. //See http://www.ladyada.net/products/i2cspilcdbackpack // //Note: LCD RW pin must be kept LOW @@ -93,15 +102,53 @@ //Force I2C portexpander type #define PCF8574 0 #define MCP23008 1 + +//Inverted Backlight control +#define BACKLIGHT_INV 0 #endif #if (DFROBOT==1) //Definitions for DFROBOT LCD2004 Module mapping between serial port expander pins and LCD controller //This hardware uses PCF8574 and is different from earlier/different Arduino I2C LCD displays +//Slaveaddress hardwired to 0x4E. SDA/SCL has pullup Resistors onboard. +//See http://arduino-info.wikispaces.com/LCD-Blue-I2C +// +//Definitions for DFROBOT V1.1 +//This hardware uses PCF8574. Slaveaddress may be set by jumpers (default 0x40). +//SDA/SCL has pullup Resistors onboard and features a voltage level converter 3V3 <-> 5V. +//See http://www.dfrobot.com/index.php?route=product/product&product_id=135 +// +// +//Note: LCD RW pin must be kept LOW +// E2 is not available on default Arduino hardware and so it does not support LCD40x4 (second controller) +// BL is used to control backlight +#define D_LCD_PIN_RS 0 +#define D_LCD_PIN_RW 1 +#define D_LCD_PIN_E 2 +#define D_LCD_PIN_BL 3 +#define D_LCD_PIN_D4 4 +#define D_LCD_PIN_D5 5 +#define D_LCD_PIN_D6 6 +#define D_LCD_PIN_D7 7 + +#define D_LCD_PIN_E2 D_LCD_PIN_RW + +//Force I2C portexpander type +#define PCF8574 1 +#define MCP23008 0 + +//Inverted Backlight control +#define BACKLIGHT_INV 0 +#endif + +#if (YWROBOT==1) +//Definitions for YWROBOT LCM1602 V1 Module mapping between serial port expander pins and LCD controller. +//Very similar to DFROBOT. This hardware uses PCF8574. +//Slaveaddress may be set by solderbridges (default 0x4E). SDA/SCL has no pullup Resistors onboard. //See http://arduino-info.wikispaces.com/LCD-Blue-I2C // //Note: LCD RW pin must be kept LOW -// E2 is not available on default Arduino hardware and so it does not support LCD40x4 (second controller) +// E2 is not available on default hardware and so it does not support LCD40x4 (second controller) // BL is used to control backlight, reverse logic: Low turns on Backlight. This is handled in setBacklight() #define D_LCD_PIN_RS 0 #define D_LCD_PIN_RW 1 @@ -117,8 +164,66 @@ //Force I2C portexpander type #define PCF8574 1 #define MCP23008 0 + +//Inverted Backlight control +#define BACKLIGHT_INV 0 #endif +#if (GYLCD==1) +//Definitions for Arduino-IIC-LCD GY-LCD-V1 Module mapping between serial port expander pins and LCD controller. +//Very similar to DFROBOT. This hardware uses PCF8574. +//Slaveaddress may be set by solderbridges (default 0x4E). SDA/SCL has pullup Resistors onboard. +//See http://arduino-info.wikispaces.com/LCD-Blue-I2C +// +//Note: LCD RW pin must be kept LOW +// E2 is not available on default hardware and so it does not support LCD40x4 (second controller) +// BL is used to control backlight, reverse logic: Low turns on Backlight. This is handled in setBacklight() +#define D_LCD_PIN_D4 0 +#define D_LCD_PIN_D5 1 +#define D_LCD_PIN_D6 2 +#define D_LCD_PIN_D7 3 +#define D_LCD_PIN_EN 4 +#define D_LCD_PIN_RW 5 +#define D_LCD_PIN_RS 6 +#define D_LCD_PIN_BL 7 + +#define D_LCD_PIN_E2 D_LCD_PIN_RW + +//Force I2C portexpander type +#define PCF8574 1 +#define MCP23008 0 + +//Force Inverted Backlight control +#define BACKLIGHT_INV 1 +#endif + +#if (SYDZ==1) +//Definitions for SYDZ Module mapping between serial port expander pins and LCD controller. +//Very similar to DFROBOT. This hardware uses PCF8574A and uses inverted Backlight control +//Slaveaddress may be set by switches (default 0x40). SDA/SCL has pullup Resistors onboard. +//See ebay +// +//Note: LCD RW pin must be kept LOW +// E2 is not available on default hardware and so it does not support LCD40x4 (second controller) +// BL is used to control backlight, reverse logic: Low turns on Backlight. This is handled in setBacklight() +#define D_LCD_PIN_RS 0 +#define D_LCD_PIN_RW 1 +#define D_LCD_PIN_E 2 +#define D_LCD_PIN_BL 3 +#define D_LCD_PIN_D4 4 +#define D_LCD_PIN_D5 5 +#define D_LCD_PIN_D6 6 +#define D_LCD_PIN_D7 7 + +#define D_LCD_PIN_E2 D_LCD_PIN_RW + +//Force I2C portexpander type +#define PCF8574 1 +#define MCP23008 0 + +//Force Inverted Backlight control +#define BACKLIGHT_INV 1 +#endif //Bitpattern Defines for I2C PCF8574/PCF8574A, MCP23008 and SPI 74595 Bus expanders //