On 09/12/2015 17:40, Tim Sander wrote: >> > If there is no slave at the requested address, i2c_start_transfer will >> > return 1. > Ok, that works. Now probably the last problem i see is that i fail to set the > data-address of the i2c-device? > I know the correct offset address for accesses on the bus e.g. > i2cget -y 0 0x50 2 > where 2 is an example offset for the access to this device. > > So any hint how setting the data-address on the i2c bus in qemu works?
If you have a data address, you probably want to use functions like smbus_read_byte that do the right write-read sequence for you: if (i2c_start_transfer(bus, addr, 0)) { return -1; } i2c_send(bus, command); i2c_start_transfer(bus, addr, 1); data = i2c_recv(bus); i2c_nack(bus); i2c_end_transfer(bus); Paolo