Technical insight - protocol

 

 

General

Basically, protocol is very straightforward, with only a device-to-host endpoint (no transmission to the device from the host). All transfers are 8 bytes long. Obviously, we have no possible action on leds.

 

Each key pressed / released triggers one bit (1 / 0) in the 8 bytes message, they are cumulative (logical OR). Red / green led status is provided by bit 3 of byte 8. Red / green button press events are also recorded on bits 2 / 1 of byte 8.

 

Table of bytes versus key number

 

Key    Byte sequence (hex)             Key    Byte sequence (hex)

1      01 00 00 00 00 00 00 00         25     00 00 00 01 00 00 00 00
2      02 00 00 00 00 00 00 00         26     00 00 00 02 00 00 00 00
3      04 00 00 00 00 00 00 00         27     00 00 00 04 00 00 00 00
4      08 00 00 00 00 00 00 00         28     00 00 00 08 00 00 00 00
5      10 00 00 00 00 00 00 00         29     00 00 00 10 00 00 00 00
6      20 00 00 00 00 00 00 00         30     00 00 00 20 00 00 00 00
7      40 00 00 00 00 00 00 00         31     00 00 00 40 00 00 00 00
8      80 00 00 00 00 00 00 00         32     00 00 00 80 00 00 00 00
9      00 01 00 00 00 00 00 00         33     00 00 00 00 01 00 00 00
10     00 02 00 00 00 00 00 00         34     00 00 00 00 02 00 00 00
11     00 04 00 00 00 00 00 00         35     00 00 00 00 04 00 00 00
12     00 08 00 00 00 00 00 00         36     00 00 00 00 08 00 00 00
13     00 10 00 00 00 00 00 00         37     00 00 00 00 10 00 00 00
14     00 20 00 00 00 00 00 00         38     00 00 00 00 20 00 00 00
15     00 40 00 00 00 00 00 00         39     00 00 00 00 40 00 00 00
16     00 80 00 00 00 00 00 00         40     00 00 00 00 80 00 00 00
17     00 00 01 00 00 00 00 00         41     00 00 00 00 00 01 00 00
18     00 00 02 00 00 00 00 00         42     00 00 00 00 00 02 00 00
19     00 00 04 00 00 00 00 00         43     00 00 00 00 00 04 00 00
20     00 00 08 00 00 00 00 00         44     00 00 00 00 00 08 00 00
21     00 00 10 00 00 00 00 00         45     00 00 00 00 00 10 00 00
22     00 00 20 00 00 00 00 00         46     00 00 00 00 00 20 00 00
23     00 00 40 00 00 00 00 00         47     00 00 00 00 00 40 00 00
24     00 00 80 00 00 00 00 00         48     00 00 00 00 00 80 00 00

49     00 00 00 00 00 00 01 00         Green  00 00 00 00 00 00 00 01
50     00 00 00 00 00 00 02 00         Red    00 00 00 00 00 00 00 02

No button pressed and green led status        00 00 00 00 00 00 00 00
No button pressed and red led status          00 00 00 00 00 00 00 04