I am trying to make arduino(slave) communicate with another microchip(master) over the I2C protocol.
Master is sending a request for data from its slave(arduino) and expecting a response.
in the top image you can see such communication between two arduinos, both of which support the so-called clock-starching, i.e. the slave is keeping SCL LOW while it is preparing the response.
Clock Stretching - the Slave is allowed to hold the clock line low until it is ready to give out the result. The Master must wait for the clock to go back to high before continuing with its work.
Unfortunately the other chip ( that will be used as a master ) does not support this clock-starching and expects a reply immediately. Is there any way I could make arduino respond immediately after getting the request?