Yet another LiquidCrystal_I2C library

I'm curious . . . in the initialization routine why do you call the first four function set instructions 'attempts'?

It is encouraging to see that you actually followed the data sheet flowchart and turned the display off after the function set and then remembered to turn it back on again after the initialization is complete. Not everyone thinks this two step procedure is necessary but it only takes one extra instruction to do things as recommended.

On the other hand, you have provided 'Yet another LiquidCrystal_I2C library' with exactly the same name as so many others - with the attendant likelihood of compounding the confusion that already exists.

Don