Any examples of more general i2c messaging?
I've been trying to find examples of HAL-based i2c messaging, such as writing changing to reading without restart condition, and request-response messaging (= start, arbitrary number of bytes written, restart, arbitrary number of bytes received, stop).
Has anyone come across such?
Also, is it possible to easily switch off the i2c such that it doesn't act as slave after stop? Infineon's TLE493D shares interrupts with i2c clock pin and I haven't figured out how to handle that. It also uses "2-byte read", which is bus address, register address and receiving data, and the chip doesn't support restarts at all.
From the reference manual (F429) I got the impression that the direction (read or write) can be changed only by generating a start condition, in which case the last bit of the next byte (device address) defines it? It also looks like switching between clock and interrupt can be only done by disabling i2c and changing the GPIO-pin alternate function?