this is my change in your code:
- in the main sketch: 2x8character and my i2c
//LCD_C0220BIZ lcd = LCD_C0220BIZ ( );
ST7036 lcd = ST7036 ( 2, 8, 0x3E );
in the ST7036.cpp i changed the LCD Initialization, copied from the working sketch
void ST7036::init ()
{
size_t retVal;
// Initialise the Wire library.
Wire.begin();
Wire.beginTransmission ( _i2cAddress );
Wire.write ( 0x00 ); // Send command to the display
Wire.write ( FUNC_SET_TBL0 );
delay (10);
Wire.write ( FUNC_SET_TBL1 );
delay (10);
Wire.write ( 0x14 ); // Set BIAS - 1/5
Wire.write (0x70 | (contrast & 15)); // Set contrast low byte ex 0x73
Wire.write (0x5c | (contrast >> 4 & 3)); // ICON disp on, Booster on, Contrast high byte ex 0x5E
Wire.write ( 0x6C ); // Follower circuit (internal), amp ratio (6) ex 0x6D
delay(300); // aggiunto
Wire.write (0x38); // function set aggiunto
Wire.write ( 0x0C ); // Display on
Wire.write ( 0x01 ); // Clear display
// Wire.write ( 0x06 ); // Entry mode set - increment
_status = Wire.endTransmission ();
if ( _status == 0 )
{
_initialised = true;
}
}
But....nothing, do not work
if you want try other i may make a test for you. for now i continue my project on the Japanease code