Yes. Please do this.
If it appears to be one of the supported chips, then I'm certain that Bill Perry @bperrybap will be interested why his library did not recognize it.
If it is an unsupported device, then it is hard to understand how LiquidCrystal_I2C.h would have worked with it in the past.
Could have been using a library specifically for the non-standard backpack, that got wiped out when the laptop was reset. Unfortunately there are multiple libraries that use LiquidCrystal_I2C.h as the header file name.
The hd44780_I2Cexp i/o class supports both the PCF8574 and the MCP23008 i/o expanders. It can auto detect which one is being used.
When hd44780_I2Cexp i/o class returns a -3 error code from begin(),
it means that the library could not figure out the pin mapping.
There is a different error code if the code could not determine which i/o expander chip.
I've never seen the library not be able to determine the pin mapping when using one of the off shelf backpacks unless there were bad solder connections somewhere.
I've seen cases where there were bad solder joints on the header to the LCD and I've also seen some cases where the PCF8574 was not soldered properly to the backpack.
It would be nice to see a photo of the backpack so we could not only see the actual h/w being used but also see the solder connections.
--- bill
4 Likes
coasty
October 3, 2024, 4:56am
24
I think the soldering is not involved in this because I asked my friend to borrow another LCD and still have the same sign.
coasty
October 3, 2024, 5:01am
26
I have three LCDs currently (I just borrowed one from my friend and still having the same issue) and here are the code names:
16x2: PCF8574T.
My friend's 16X2: HLF8574T.
My 20x4: PCF8574T.
My friend said that his LCD works perfectly fine, so I'm thinking that the software is actually related to this error.
coasty
October 3, 2024, 5:05am
27
Hey, I also have a reseted laptop too, maybe it is also the problem. I'm thinking about borrowing my mom's laptop.
mikedb
October 3, 2024, 5:07am
28
What Library does your friend use for his working LCD'S.
Ask your friend to test one of your LCD'S on his PC with his library.
Edit.Ask your friend to take a photo of your LCD and post it here.
So you are saying that all 3 of those fail the exact same way with the same error code, when using I2CexpDiag?
Post some photos of your devices.
--- bill
mikedb
October 3, 2024, 5:16am
30
Hey Bill.
The OP said his phone is cracked cannot take good pic's.
@coasty
If your screen is cracked you can still take a photo the crack will not show in the photo.
Reported Arduino Revision: 1.6.7
Is this the Arduino IDE version?
Then you "reseted" your notebook to a very outdated version.
Yes. That value is the version of the IDE that was used to build I2CexpDiag.
That is a very old IDE.
Lucky version. From my testing there are serious issues with 1.6.6 and 1.6.8 and those won't work.
While I don't think this IDE version is the issue,
My recommendation would be to get a newer version of the IDE.
like 1.8.19
Or jump to the latest 2.x IDE
--- bill
coasty
October 3, 2024, 5:50am
33
No, it is 2.X IDE
Here's a picture it
coasty
October 3, 2024, 5:51am
34
It was actually the same one, same LiquidCrystal I2C
coasty:
No, it is 2.X IDE
Then it should have been reported as such in the printout from the diagnostic sketch and not "Reported Arduino Revision 1.6.7"
Did you run the diagnostic sketch with 2.3.3?
I would be best if you run the diagnostic sketch with the ide version you are trying to work with the display?
That's what you might expect, but arduino-cli (which IDE 2.x uses) pretends it is 1.6.7.
opened 06:08AM - 27 May 20 UTC
type: enhancement
topic: code
## Feature Request
### Current behavior
The `ARDUINO` macro is defined wit… h the value of the `runtime.ide.version` property. When using the Arduino IDE, this value matches the current IDE version. When using other Arduino development software, it has a meaningless value (currently `10607`):
https://github.com/arduino/arduino-cli/blob/625aaac8bee07f5ea2e859e59d718ed2d11bc5f1/internal/arduino/cores/packagemanager/package_manager.go#L417
This causes problems for code that uses the value of the `ARDUINO` macro to determine compatibility with version-specific behavior of the Arduino development software (e.g., function prototype generation).
### Expected behavior
My suggestion is to set the `runtime.ide.version` property to the version of the Arduino IDE the Arduino CLI release will be used with. I think that, given the historical meaning of this property's value, this will provide the closest match to the behavior the user expects.
### Arduino CLI version
#### Original report
0.10.0-rc1 Commit: 8220b32
#### Last verified with
625aaac8bee07f5ea2e859e59d718ed2d11bc5f1
### Operating system
- Windows
- Linux
### Operating system version
- Ubuntu 22.04
- Windows 11
### Additional context
If the policy for setting the value of the `runtime.ide.version` property is changed, the relevant section of the Arduino Platform Specification should be updated accordingly:
https://arduino.github.io/arduino-cli/dev/platform-specification/#global-predefined-properties
#### Additional requests
- https://github.com/arduino/arduino-cli/issues/725#issuecomment-1718052299
- https://github.com/arduino/arduino-cli/issues/725#issuecomment-1986986168
#### Related
- https://github.com/SpenceKonde/ATTinyCore/issues/405
1 Like
coasty
October 3, 2024, 8:25am
38
One fact is Arduino usually puts the Library files inside Documents, but after reseting my laptop, it is no longer located there.
coasty
October 3, 2024, 2:56pm
39
@david_2018 @noiasca @xfpd @mikedb @robtillaart Guys, it is not looking good, I switched to my mom's laptop and they didn't work too....
coasty
October 3, 2024, 3:00pm
40
And I think I am going to find a phone in order to show some pictures of the devices for you guys.