I am still not sure how to use the PCA9557. Seven of the PCA 9557 chips I use are for output only (writing), and one is for input only (reading). Can each chip be configured one time at startup for which register will be accessed from normal SMBus transactions (2 byte) from that point on?
In reading the data sheet, it looks like each output requires 3 bytes (address, register, data), instead of the normal 2 (address, data). Instead, can the output chips be configured for output (address, config, 0) and then just use a 2 byte message (address, data).
For the chip I will be reading from, it looks like 4 bytes are required to read a byte of data. Can I configure it to use the Input Data register one time at startup (address, config, 1), and from then on just use the normal 2 byte transaction?
This chip is nightmare to use in an interrupt driven system if all the bytes detailed in the data sheet need to be sent just for a one byte transaction. Is there any way to make it conform to the normal I2C interface (2 bytes / transaction) by a one time setup before use.