The first one, with hardware I2C, is reading actual data off the chip. I do not know where the garbage that it's reading back with software I2C is coming from....
Reads using software I2C similarly give bad values on the ESP8266, while hardware I2C can at least read the correct values off the chip...
| __|___ ___ ___ _ _|_|___ ___
| __|_ -| . | _| | | | | . |
|_____|___| _|_| |___|_|_|_|___|
|_| http://espruino.com
1v95 Copyright 2017 G.Williams
Espruino is Open Source. Our work is supported
only by sales of official boards and donations:
http://espruino.com/Donate
Flash map 4MB:1024/1024, manuf 0xe0 chip 0x4016
>
=undefined
>test()
new Uint8Array([200, 31, 255, 63, 200, 243, 255, 63, 220, 53])
new Uint8Array([200, 31, 255, 63, 200, 243, 255, 63, 172, 53])
=undefined
>
>
>
_____ _
| __|___ ___ ___ _ _|_|___ ___
| __|_ -| . | _| | | | | . |
|_____|___| _|_| |___|_|_|_|___|
|_| http://espruino.com
1v95 Copyright 2017 G.Williams
Espruino is Open Source. Our work is supported
only by sales of official boards and donations:
http://espruino.com/Donate
Flash map 4MB:1024/1024, manuf 0xe0 chip 0x4016
>
=undefined
>test()
new Uint8Array([7, 26, 99, 107, 32, 116, 104, 101, 32, 112])
new Uint8Array([7, 26, 99, 107, 32, 116, 104, 101, 32, 112])
=undefined
It would appear that software I2C is totally broken? How come this doesn't show up with other devices... this isn't subtle.
Yet the AT24 I am using is clearly OK because it works fine with hardware I2C on the Pico!
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Okay, did some more testing here:
With software I2C, this just plain doesnt work. On an official Espruino Pico:
The first one, with hardware I2C, is reading actual data off the chip. I do not know where the garbage that it's reading back with software I2C is coming from....
Reads using software I2C similarly give bad values on the ESP8266, while hardware I2C can at least read the correct values off the chip...
It would appear that software I2C is totally broken? How come this doesn't show up with other devices... this isn't subtle.
Yet the AT24 I am using is clearly OK because it works fine with hardware I2C on the Pico!