Skip to content

Instantly share code, notes, and snippets.

@cstrouse
Forked from crepererum/f1_protocol.md
Created February 9, 2017 07:07
Show Gist options
  • Save cstrouse/cff2f4843486809e13f343a99d10ea5c to your computer and use it in GitHub Desktop.
Save cstrouse/cff2f4843486809e13f343a99d10ea5c to your computer and use it in GitHub Desktop.
Traktor F1 USB

Traktor F1 USB Protocol

Devide Info

  • stateless protocol
  • vendor ID: 0x17cc
  • product ID: 0x1120
  • MSB 0 bit numbering
  • little endian

Input

General Information

  • 22 byte fixed size message
  • u16 fields are multiplied by 16 (so devide them by 16 to deserialize)

Fields

| code    | description       | type |
+---------+-------------------+------+
| u0{x}   | unknown x         | -    |
| p{i}{j} | pad i j           | bool |
| bsh     | button shift      | bool |
| bre     | button reverse    | bool |
| bty     | button type       | bool |
| bsi     | button size       | bool |
| bbr     | button browse     | bool |
| bsy     | button sync       | bool |
| bqu     | button quant      | bool |
| bca     | button capture    | bool |
| spr     | selector pressed  | bool |
| s0{k}   | stop k            | bool |
| spo     | selector position | u8   |
| k0{l}   | knob l position   | u16  |
| l0{n}   | slider n          | u16  |

Message Layout

|      | bit                                           |
| byte |   0 |   1 |   2 |   3 |   4 |   5 |   6 |   7 |
+------+-----+-----+-----+-----+-----+-----+-----+-----+
|    0 | u00     .     .     .     .     .     .     . |
|    1 | p00 | p01 | p02 | p03 | p10 | p11 | p12 | p13 |
|    2 | p20 | p21 | p22 | p23 | p30 | p31 | p32 | p33 |
|    3 | bsh | bre | bty | bsi | bbr | spr | u01 | u02 |
|    4 | s00 | s01 | s02 | s03 | bsy | bqu | bca | u03 |
|    5 | spo     .     .     .     .     .     .     . |
|    6 | k00     .     .     .     .     .     .     . :
|    7 :   .     .     .     .     .     .     .     . |
|    8 | k01     .     .     .     .     .     .     . :
|    9 :   .     .     .     .     .     .     .     . |
|   10 | k02     .     .     .     .     .     .     . :
|   11 :   .     .     .     .     .     .     .     . |
|   12 | k03     .     .     .     .     .     .     . :
|   13 :   .     .     .     .     .     .     .     . |
|   14 | l00     .     .     .     .     .     .     . :
|   15 :   .     .     .     .     .     .     .     . |
|   16 | l01     .     .     .     .     .     .     . :
|   17 :   .     .     .     .     .     .     .     . |
|   18 | l02     .     .     .     .     .     .     . :
|   19 :   .     .     .     .     .     .     .     . |
|   20 | l03     .     .     .     .     .     .     . :
|   21 :   .     .     .     .     .     .     .     . |
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment