lophtware projects
Report Type: IN / OUT
Report Size: 13 Bytes
Acknowledged By: Command Acknowledgement
Report ID | Unlock Key | Address Flags | Address | Address Mask Flags | Address Mask |
---|---|---|---|---|---|
0000100 I |
8 bytes | u i 000000 |
0 aaaaaaa |
u i 000 s 00 |
0 mmmmmmm |
HID Report ID. Always 0x08
for OUT Reports.
IN Reports can use the I
flag to indicate whether the Host should receive the immediate values of the Master peripheral (when I
is 1
) or whether the Host should
receive the configuration settings (when I
is 0
).
An 8-byte key that is used to prevent accidental changes to certain configuration values. If the supplied key does not match the stored key then this report is ignored.
For IN Reports the field is set as all zeroes.
These flags are common across multiple fields and have the same semantics for each:
Bits | Direction | Meaning |
---|---|---|
u |
OUT | Update the field; 1 if the field is to be updated, 0 if no change is to be made (any supplied values will be ignored). For IN Reports this will be set to 0 . |
i |
OUT | Immediate update; 1 if an update is to be applied immediately, 0 if the change will be stored in the configuration to be applied later. Note that no configuration changes are persisted until Store Current Configuration is issued. This flag makes no sense if u is 0 , so will be ignored. For IN Reports this will be set to 0 . |
The 7-bit bus address of the device when operating as a Slave.
Bits | Direction | Meaning |
---|---|---|
s |
IN / OUT | Whether ‘strict addressing’ is enforced; 0 to allow the slave to respond to reserved I2C addresses, or 1 to ignore them. |
A 7-bit mask that allows the Slave to respond to more than one address. When there is a 1
then it means that bit of the address is ignored and the slave will
respond if the rest of the address matches. For example, if a device has an Address
of 0x31
and an Address Mask
of 0x01
then the Slave will respond to
any Master that directs its requests to either 0x30
or 0x31
.