Benutzer-Werkzeuge

Webseiten-Werkzeuge


friedhof:otus

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
project:otus [2011-05-18 19:48] ::ffff:93.231.138.14project:otus [2013-05-29 10:07] – [Linux] 91.203.212.124
Zeile 1: Zeile 1:
 ====== OTUS ====== ====== OTUS ======
 +{{tag>project audio music hadez}}
 +
 [[leute:hadez]] bought an OTUS and doesn't get around using it. [[leute:hadez]] bought an OTUS and doesn't get around using it.
 Be nice, don't scratch it, don't drown it in club-mate. Be nice, don't scratch it, don't drown it in club-mate.
Zeile 19: Zeile 21:
 ==== Linux ==== ==== Linux ====
 EKS claimed support for Linux, that's why hadez bought the damn thing. EKS claimed support for Linux, that's why hadez bought the damn thing.
-Turns out there's no Linux driver, so he reverse engineered the protocol.+<del>Turns out there's no Linux driver</del>, so he reverse engineered the protocol.
  
   * [[https://github.com/shackspace/LOTUS|Repo at GitHub]]   * [[https://github.com/shackspace/LOTUS|Repo at GitHub]]
  
 +There is [[http://mixxx.org/wiki/doku.php/eks_otus|OTUS HID support in mixxx 1.11.0]]!
 ===== Protocol ===== ===== Protocol =====
   typedef struct OTUSMsg_ {   typedef struct OTUSMsg_ {
Zeile 57: Zeile 60:
      
     unsigned int buttons;           // one-hot bitmask for 32 button actions     unsigned int buttons;           // one-hot bitmask for 32 button actions
 +  
     unsigned char filler;     unsigned char filler;
     unsigned char msgCounter;      // 0x0000..0xff00, mask:0xff00, rollover     unsigned char msgCounter;      // 0x0000..0xff00, mask:0xff00, rollover
Zeile 67: Zeile 70:
     unsigned int _3c_3f_reserved;     unsigned int _3c_3f_reserved;
   } __attribute__((__packed__)) OTUSMsg;   } __attribute__((__packed__)) OTUSMsg;
 +
 +
 +  // button mapping for the OTUSMsg.buttons field
 +  #define OTUS_BUTTON_PLAYPAUSE        0x00008000
 +  #define OTUS_BUTTON_UNKNOWN3         0x00004000
 +  #define OTUS_BUTTON_JOG3             0x00002000
 +  #define OTUS_BUTTON_RETURNLEFT       0x00001000
 +  #define OTUS_BUTTON_SHIFT            0x00000800
 +  #define OTUS_BUTTON_RETURNRIGHT      0x00000400
 +  #define OTUS_BUTTON_JOG4             0x00000200
 +  #define OTUS_BUTTON_PITCH_SCALE      0x00000100
 +  #define OTUS_BUTTON_LOOP             0x00000080
 +  #define OTUS_BUTTON_LOOPOUT          0x00000040
 +  #define OTUS_BUTTON_LOOPIN           0x00000020
 +  #define OTUS_BUTTON_LOOPFULL         0x00000010
 +  #define OTUS_BUTTON_LOOPHALF         0x00000008
 +  #define OTUS_BUTTON_LOOPQUARTER      0x00000004
 +  #define OTUS_BUTTON_LOOPEIGTH        0x00000002
 +  #define OTUS_BUTTON_JOG2             0x00000001
 +  #define OTUS_BUTTON_XYPAD            0x80000000
 +  #define OTUS_BUTTON_PITCH            0x40000000
 +  #define OTUS_BUTTON_USER5            0x20000000
 +  #define OTUS_BUTTON_USER4            0x10000000
 +  #define OTUS_BUTTON_USER3            0x08000000
 +  #define OTUS_BUTTON_USER2            0x04000000
 +  #define OTUS_BUTTON_USER1            0x02000000
 +  #define OTUS_BUTTON_USER0            0x01000000
 +  #define OTUS_BUTTON_MOUSERIGHT       0x00800000
 +  #define OTUS_BUTTON_MOUSELEFT        0x00400000
 +  #define OTUS_BUTTON_MOUSELEFT        0x00400000
 +  #define OTUS_BUTTON_JOG0             0x00200000
 +  #define OTUS_BUTTON_JOG1             0x00100000
 +  #define OTUS_BUTTON_FASTFORWARD      0x00080000
 +  #define OTUS_BUTTON_UNKNOWN1         0x00040000
 +  #define OTUS_BUTTON_UNKNOWN2         0x00020000
 +  #define OTUS_BUTTON_CUE              0x00010000
 +
 +  // IDs for value knobs
 +  #define OTUS_VALUE_JOG0ROT          0   
 +  #define OTUS_VALUE_JOG0SPEED        1   
 +  #define OTUS_VALUE_JOG1ROT          2   
 +  #define OTUS_VALUE_JOG2ROT          3   
 +  #define OTUS_VALUE_JOG3ROT          4   
 +  #define OTUS_VALUE_JOG4ROT          5   
 +  #define OTUS_VALUE_GAINA            6   
 +  #define OTUS_VALUE_GAINB            7   
 +  #define OTUS_VALUE_GAINM            8   
 +  #define OTUS_VALUE_HIGHA            9   
 +  #define OTUS_VALUE_HIGHB            10  
 +  #define OTUS_VALUE_MIDA             11  
 +  #define OTUS_VALUE_MIDB             12  
 +  #define OTUS_VALUE_LOWA             13  
 +  #define OTUS_VALUE_LOWB             14  
 +  #define OTUS_VALUE_XFADER           15  
 +  #define OTUS_VALUE_PITCHA           16  
 +  #define OTUS_VALUE_PITCHB           17  
 +  #define OTUS_VALUE_PADX             18  
 +  #define OTUS_VALUE_PADY             19  
  
friedhof/otus.txt · Zuletzt geändert: 2020-07-20 11:43 von neos