I have a project that's migrating from ATTINY to ATMEGA. They Fleury library worked great on my attiny, but there seems to be a timing problem when using the code on atmega.
Waveforms attached as image.
See how the first upward transition of SDA happens about at the same time as SCL goes down? This should be delayed so that the transition of the clock occurs when SDA is clearly down. I suspect this is why I'm not getting an ACK.
The library is vanilla, except for slowing i2c_delay_T2. Any ideas? I was under the impression this basically would work out of the box.