Merge pull request #8 from ortegafernando/master

Now, createChar function can use PROGMEM charmap
master
marcoschwartz 9 years ago
commit 4bb48bd648
  1. 9
      LiquidCrystal_I2C.cpp
  2. 5
      LiquidCrystal_I2C.h

@ -214,6 +214,15 @@ void LiquidCrystal_I2C::createChar(uint8_t location, uint8_t charmap[]) {
} }
} }
//createChar with PROGMEM input
void LiquidCrystal_I2C::createChar(uint8_t location, const char *charmap) {
location &= 0x7; // we only have 8 locations 0-7
command(LCD_SETCGRAMADDR | (location << 3));
for (int i=0; i<8; i++) {
write(pgm_read_byte_near(charmap++));
}
}
// Turn the (optional) backlight off/on // Turn the (optional) backlight off/on
void LiquidCrystal_I2C::noBacklight(void) { void LiquidCrystal_I2C::noBacklight(void) {
_backlightval=LCD_NOBACKLIGHT; _backlightval=LCD_NOBACKLIGHT;

@ -77,8 +77,11 @@ public:
void autoscroll(); void autoscroll();
void noAutoscroll(); void noAutoscroll();
void createChar(uint8_t, uint8_t[]); void createChar(uint8_t, uint8_t[]);
void createChar(uint8_t location, const char *charmap);
// Example: const char bell[8] PROGMEM = {B00100,B01110,B01110,B01110,B11111,B00000,B00100,B00000};
void setCursor(uint8_t, uint8_t); void setCursor(uint8_t, uint8_t);
#if defined(ARDUINO) && ARDUINO >= 100 #if defined(ARDUINO) && ARDUINO >= 100
virtual size_t write(uint8_t); virtual size_t write(uint8_t);
#else #else
virtual void write(uint8_t); virtual void write(uint8_t);

Loading…
Cancel
Save