ATmega simulando memória 24Cxx

Boa tarde pessoal,
Estou tentando simular uma EEPROM 24C512 com o ATmega168 que tem eeprom interna e comunicação twi configurado como i2c escravo.
Usei a biblioteca deste exemplo https://github.com/thegouger/avr-i2c-slave/blob/master/main.c
Estou conseguindo enviar e receber os dados sem problema, porém não estou conseguindo identificar quando o comando é read ou write.
Read
Write
A única diferença conforme as figuras acima é que no Read ocorre dois start's antes do stop bit. Alguém tem alguma ideia de como posso identificar quando o mestre está lendo um dado ou escrevendo um dado ?
Obrigado pela atenção de todos
Estou tentando simular uma EEPROM 24C512 com o ATmega168 que tem eeprom interna e comunicação twi configurado como i2c escravo.
Usei a biblioteca deste exemplo https://github.com/thegouger/avr-i2c-slave/blob/master/main.c
Estou conseguindo enviar e receber os dados sem problema, porém não estou conseguindo identificar quando o comando é read ou write.
Read
Write
A única diferença conforme as figuras acima é que no Read ocorre dois start's antes do stop bit. Alguém tem alguma ideia de como posso identificar quando o mestre está lendo um dado ou escrevendo um dado ?
Obrigado pela atenção de todos