I'm using CVAVR for a ATtiny414 project. I have copied the i2c bit-banged code for AT24C08 EEPROM from the help section. By observing the SDA and SCL lines on an oscilloscope, I see that the new start-condition after the second address byte is missing. When i duplicate the i2c_start() at this point in the code, it works.
Is this a bug in the CVAVR bit-banged i2c library or have I missed something?
/* read a byte from the EEPROM */
unsigned char eeprom_read(unsigned int address)
unsigned char data;
i2c_write(EEPROM_BUS_ADDRESS | 0);
i2c_write(address >> 8);
i2c_write((unsigned char) address);
i2c_start(); // <<<< Extra i2c_start to make the code run correctly
i2c_write(EEPROM_BUS_ADDRESS | 1);
data = i2c_read(0);