lophtware projects
Report Type: Interrupt IN
Report Size: 16 Bytes
Report ID | Flags | Latch LSB | Latch MSB | Port LSB | Port MSB | Change LSB | Change MSB | First Timestamp | Second Timestamp |
---|---|---|---|---|---|---|---|---|---|
00011000 | 000000 s 0 |
llllllll |
00000 lll |
pppppppp |
00000 ppp |
cccccccc |
00000 ccc |
4 bytes | 4 bytes |
HID Report ID. Always 0x18
.
Bits | Direction | Meaning |
---|---|---|
000000 | ||
s |
IN | Stable flag; 1 if there were no changes in between starting and finishing the port sampling operation, or 0 if the ports were unstable. See the notes below. |
0 |
The Least Significant Byte of a word that represents a mask of the state of the pin latches. The 11 bits in the mask correspond to the user-defined IDs provided by the Pin Configuration (A2)-Pin Configuration (C9) commands.
The Most Significant Byte of a word that represents a mask of the state of the pin latches. The 11 bits in the mask correspond to the user-defined IDs provided by the Pin Configuration (A2)-Pin Configuration (C9) commands.
The Least Significant Byte of a word that represents a mask of the state of the pins. The 11 bits in the mask correspond to the user-defined IDs provided by the Pin Configuration (A2)-Pin Configuration (C9) commands.
The Most Significant Byte of a word that represents a mask of the state of the pins. The 11 bits in the mask correspond to the user-defined IDs provided by the Pin Configuration (A2)-Pin Configuration (C9) commands.
The Least Significant Byte of a word that represents a mask of which pins have changed. The 11 bits in the mask correspond to the user-defined IDs provided by the Pin Configuration (A2)-Pin Configuration (C9) commands.
The Most Significant Byte of a word that represents a mask of which pins have changed. The 11 bits in the mask correspond to the user-defined IDs provided by the Pin Configuration (A2)-Pin Configuration (C9) commands.
The value of the microcontroller’s COUNT
register when the first change was detected. The COUNT
register increments at a rate of 12MHz, so each LSb is
approximately 83.333ns.
This field is Little Endian, ie. the Least Significant Byte of the word appears first. Bit numbering within the constituent bytes is unaffected.
The value of the microcontroller’s COUNT
register when the ports were sampled, which is just before this report is sent. Depending on how busy the
microcontroller is processing other tasks, this could be many milliseconds after _First Timestamp_. The COUNT
register increments at a rate of 12MHz, so each
LSb is approximately 83.333ns.
This field is Little Endian, ie. the Least Significant Byte of the word appears first. Bit numbering within the constituent bytes is unaffected.
The port sampling operation is not atomic so it is possible that there are changes during the sampling operations that means there are mismatches in the reported
_Latch_, _Port_ and _Change_ masks. If this happens then the values of the _Latch_ and _Port_ fields are not reliable for the corresponding
_Change_ mask, in which case the s
bit will be 0
and another Pins Changed IN Report will be sent.
The 11 bits in the _Latch_, _Port_ and _Change_ masks correspond to the user-defined IDs provided by the Pin Configuration (A2)-Pin Configuration (C9) commands.