The Ack/Nack is the most useful feature to have.
If the function call is ok then the function should return Ack.
If the function call encounted a problem the function should return with Nack.
At the moment all function calls are void returns. If you make then all returns Ack/Nack then this would solve a lot of potential issues.Some EEPROMs use this to let you know they have finished the EEPROM write cycle. Attempting to access the device will return a Nack if the device is busy for example.
By issuing a general call to address's it is possible to see what devices are connected to the bus. This is useful in a plug and play system for example. If you write to an I2C address that is not currently implemented the software hangs in an error state in its current state. Consequenlty in a system with some noise its likely the application will stop working.
The I2C library is working for me now. I've not changed anything from yesterday, so i'm not sure what has happened. I'll keep you posted if the problem re-appears.
Best Regards
David Giles
I will need to debug/understand the I2C module in more detail today.
Where do i find the source code for this library ?
Best Regards
David Giles