Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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
}