I2C communication between Arduino Due and Epson S2S65P10

Hi all,
I would like to establish communication between the Arduino Due (Master) and the EPSON S2S65P10 (http://www.epsondevice.com/webapp/docs_ic/DownloadServlet?id=ID001764) (Slave) device. Both devices are using I2C communication.
Specifically, I want to access the content of the register 0x00 in the device, and print the value.
I attached the communication protocol of the device and my code.
Currently, the function endTransmission returns 0, which means that the data was sent to the device and that the Arduino received an acknowledge bit from the Epson. But then, I fail when I try to read the content of the register (requestFrom also returns 0, which means that no bytes are available to read)
Where I am mistaking ?
Thank you very much

epson.ino (1.08 KB)


The link to the datasheet does not contain the copy of the I2C transmission. You seem to have a book with more information.

The datasheet shows as maximum frequency for SCL : 109/(Tc*Ts)*1,4
Do you know what the maximum frequency is ?

I think the code in the sketch is okay : slave address - 16 bit register address - repeated start - slave address - read two bytes.

What happens if you run the i2c_scanner ?

This is quite odd. The scanner finds a device at each address ! When I remove the general tension (0V in HVdd and LVdd pins), the scanner does not find any device, which means that the chip is answering, but answering to each adress. About the frequency, I am working with a general clock of 20MHz, and the SCL frequency is 100Khz, which is far below the maximum, hence it shouldn't be an issue. About the protocol, you're right, I have a printed book that contains more information. Thank you for your help