It works with the scope connected, but not with the scope disconnected. What sorcery is this?!
It looks to me like I2C is currently just on the edge of working
Edit: Compared 1v91 and 1v95 - On 1v91, when a 1 is sent, SDA is pulsed high, and SCL is briefly pulsed high in the middle of the HIGH on SDA. On 1v95, SDA and SCL go high about simultaneously. With no scope probe connected to SCL, it doesn't work with the EEPROMs. With a scope probe on SCL, I suspect it slows the rise time just enough that SDA is clearly in the correct state when it detects SCL as going high.
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.
What the hell.
It works with the scope connected, but not with the scope disconnected. What sorcery is this?!
It looks to me like I2C is currently just on the edge of working
Edit: Compared 1v91 and 1v95 - On 1v91, when a 1 is sent, SDA is pulsed high, and SCL is briefly pulsed high in the middle of the HIGH on SDA. On 1v95, SDA and SCL go high about simultaneously. With no scope probe connected to SCL, it doesn't work with the EEPROMs. With a scope probe on SCL, I suspect it slows the rise time just enough that SDA is clearly in the correct state when it detects SCL as going high.