Hi Luca, thanks for the review! > good, but I think there's a problem in this function. A "normal" > master_xfer function issues a repeated start between one msg and the > next one, at least in the typical case where all msgs have the same > slave address. Your implementation breaks repeated start. At first sight > we might need more complex code here to coalesce all consecutive msgs > with the same address into a single i2c_transfer() call. Note that it is by far the standard case that all messages in a transfer have the same client address (99,999%?). But technically, this is not a requirement and the repeated start on the bus is totally independent of the addresses used. It is just a master wanting to send without being interrupted by another master. Wolfram