LCD I2C
Dependents: proyectoRTOS proyectoRTOS2 proyectoRTOS proyectoRTOSp ... more
Diff: TextLCD.cpp
- Revision:
- 35:311be6444a39
- Parent:
- 34:e5a0dcb43ecc
- Child:
- 36:9f5f86dfd44a
--- a/TextLCD.cpp Sat Sep 27 12:38:27 2014 +0000 +++ b/TextLCD.cpp Fri Oct 10 15:47:56 2014 +0000 @@ -15,6 +15,7 @@ * 2014, v13: WH, Added support for controllers US2066/SSD1311 (OLED), added setUDCBlink() method for supported devices (eg SSD1803), fixed issue in setPower() * 2014, v14: WH, Added support for PT6314 (VFD), added setOrient() method for supported devices (eg SSD1803, US2066), added Double Height lines for supported devices, * added 16 UDCs for supported devices (eg PCF2103), moved UDC defines to TextLCD_UDC file, added TextLCD_Config.h for feature and footprint settings. + * 2014, v15: 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 @@ -1574,12 +1575,23 @@ */ void TextLCD_Base::setBacklight(LCDBacklight backlightMode) { +#if (BACKLIGHT_INV==0) + // Positive Backlight control pin logic if (backlightMode == LightOn) { - this->_setBL(true); + this->_setBL(true); } else { this->_setBL(false); } +#else + // Inverted Backlight control pin logic + if (backlightMode == LightOn) { + this->_setBL(false); + } + else { + this->_setBL(true); + } +#endif } /** Set User Defined Characters @@ -1614,28 +1626,6 @@ } } - -#if(0) -/** Low level method to store user defined characters for current controller - * - * @param unsigned char c The Index of the UDC (0..7) for HD44780 clones - * @param char *udc_data The bitpatterns for the UDC (8 bytes of 5 significant bits) - */ -void TextLCD_Base::_setUDC(unsigned char c, char *udc_data) { - - // Select CG RAM for current LCD controller - _writeCommand(0x40 + ((c & 0x07) << 3)); //Set CG-RAM address, - //8 sequential locations needed per UDC - // Store UDC pattern - for (int i=0; i<8; i++) { - _writeData(*udc_data++); - } - - //Select DD RAM again for current LCD controller - int addr = getAddress(_column, _row); - _writeCommand(0x80 | addr); -} -#else /** Low level method to store user defined characters for current controller * * @param unsigned char c The Index of the UDC (0..7) for HD44780 clones and (0..15) for some more advanced controllers @@ -1673,7 +1663,6 @@ int addr = getAddress(_column, _row); _writeCommand(0x80 | addr); } -#endif /** Set UDC Blink * setUDCBlink method is supported by some compatible devices (eg SSD1803) @@ -2322,10 +2311,6 @@ // Used for mbed pins, I2C bus expander or SPI shiftregister void TextLCD_I2C::_setBL(bool value) { -#if (DFROBOT==1) - value = !value; // The DFRobot module uses PNP transistor to drive the Backlight. Reverse logic level. -#endif - if (value) { _lcd_bus |= D_LCD_BL; // Set BL bit }