Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
projects:acb8300 [2016/01/25 22:51] – Andreas Böhler | projects:acb8300 [2016/01/25 23:20] (current) – [Wait for button inpurt] Andreas Böhler | ||
---|---|---|---|
Line 63: | Line 63: | ||
The USB protocol consists of input reports and output reports, with a fixed length of 43 bytes. The host speaks first, the device responds (most of the time). The first byte is always the command byte, the remaining bytes are either payload or junk. The byte numbers of the table start with the payload, so you have to strip the first byte anyway. | The USB protocol consists of input reports and output reports, with a fixed length of 43 bytes. The host speaks first, the device responds (most of the time). The first byte is always the command byte, the remaining bytes are either payload or junk. The byte numbers of the table start with the payload, so you have to strip the first byte anyway. | ||
+ | |||
+ | They seem to not clear the send buffer before responding to a command. Thus, you always get the remaining bytes of the previous commands as well! | ||
==== Initialisation ==== | ==== Initialisation ==== | ||
Line 90: | Line 92: | ||
^ Bytes ^ Format ^ Description ^ | ^ Bytes ^ Format ^ Description ^ | ||
- | | 0-7 | double | M[1][3] | | + | | 0-7 | double | M[1][2] | |
| 8-15 | double | M[2][0] | | | 8-15 | double | M[2][0] | | ||
| 16-23 | double | M[2][1] | | | 16-23 | double | M[2][1] | | ||
Line 134: | Line 136: | ||
In order to derive the firmware version, divide the value by 100. My device reports '' | In order to derive the firmware version, divide the value by 100. My device reports '' | ||
- | ==== Wait for button | + | ==== Wait for button |
Send: '' | Send: '' |