We received a helpful e-mail from a customer below which we would like to share with the community: The library for the DFRobot I2C / TWI LCD1602 Module may not work with the new Arduino 1.0, and can return this error:
\arduino-1.0\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:81:
error: conflicting return type specified for 'virtual void LiquidCrystal_I2C::write(uint8_t)'
\arduino-1.0\hardware\arduino\cores\arduino/Print.h:48:
error: overriding 'virtual size_t Print::write(uint8_t)'
The library “LiquidCrystal_I2C.h” can be edited / repaired in the following way:
Change line 10
#include "WProgram.h"
To
#include "Arduino.h"
Changed line 248
void LiquidCrystal_I2C::expanderWrite(uint8_t _data){
Wire.beginTransmission(_Addr);
Wire.send((int)(_data) | _backlightval);
Wire.endTransmission();
}
To
void LiquidCrystal_I2C::expanderWrite(uint8_t _data){
Wire.beginTransmission(_Addr);
Wire.write((int)(_data) | _backlightval);
Wire.endTransmission();
}
And in LiquidCrystal_I2C_h, change line 79
virtual void write(uint8_t);
To
virtual size_t write(uint8_t);