lophtware

Logo

lophtware projects

GitHub Profile

I2C - Slave Transaction Done

Report Type: Interrupt IN
Report Size: 7 Bytes

Report ID Flags Device Address Register Address LSB Register Address MSB Register Count LSB Register Count MSB
00001100 w 0000000 ddddddd aaaaaaaa bbbbbb aa cccccccc cccccccc

Report ID

HID Report ID. Always 0x0c.

Flags

Bits Direction Meaning
w IN Transaction type; 1 if a Master wrote to the Slave, 0 a Master read from the Slave.

Device Address

The I2C address of the device that the Master was using to access it as a Slave.

Register Address LSB

The Least Significant Byte of the address of the first register involved in the transaction.

Register Address MSB

The Most Significant Byte of the address of the first register involved in the transaction. Note that BBBBBB is the Bank number and AA are the two most significant bits of the address in that bank. See the I2C Behaviour page for information on what banks are available.

Register Count LSB

The Least Significant Byte of the number of registers involved in the transaction.

Register Count MSB

The Most Significant Byte of the number of registers involved in the transaction.

Notes

Note that it is possible (but unlikely) that a Master has tried to access more than 65535 registers in a single transaction. Since the I2C address space implemented by the Slave firmware is only 64KiB it is pointless trying to record more than this, since every single register will have been touched in the process. Thus, Register Count will not overflow.

These reports can be turned on and off via the Slave Report Configuration command.