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
project:otus [2011-05-17 22:04] ::ffff:93.231.143.25friedhof:otus [2020-07-20 11:43] (aktuell) – ↷ Seite von project:otus nach friedhof:otus verschoben neos
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.
  
 ===== Drivers ===== ===== Drivers =====
-User: ywrlroxuriw\\ 
-Pass: ywrlroxuriwywrlroxuriw 
- 
 [[http://eks.fi/index2.php?p=support&o=Otus%20Series|OTUS Product Support Website]] [[http://eks.fi/index2.php?p=support&o=Otus%20Series|OTUS Product Support Website]]
 +(Login: ywrlroxuriw:ywrlroxuriwywrlroxuriw)
 +
  
 ==== Windows ==== ==== Windows ====
Zeile 13: Zeile 14:
   * [[http://follvalsch.de/dump/EKS/EKS_OTUSFW_WIN_11.2.2009.zip|Firmware 1.5]]   * [[http://follvalsch.de/dump/EKS/EKS_OTUSFW_WIN_11.2.2009.zip|Firmware 1.5]]
  
 +The OTUS came bundled with NI Traktor LE, however in more recent versions of Traktor LE, OTUS support was removed. NI support wants to push you to invest into Traktor Pro. Lesson learned: don't ever update Traktor.
 ==== OSX ==== ==== OSX ====
   * [[http://follvalsch.de/dump/EKS/EKS_OTUSFW_OSX_23.2.2009.dmg|Drivers]]   * [[http://follvalsch.de/dump/EKS/EKS_OTUSFW_OSX_23.2.2009.dmg|Drivers]]
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 =====
 +  typedef struct OTUSMsg_ {
 +    unsigned short magic;           // 0x0035
 +  
 +    unsigned short jog0Rot;         // 0x0000..0xffff, rollover
 +      signed short jog0Speed;       // <0: CCW rotation, >0: CW rotation
 +  
 +    unsigned int timestamp;         // looks like unixtime, have to check details
 +  
 +    unsigned int _0a_0d_reserved;
 +  
 +    unsigned char jog2Rot;          // 0x0000..0x00ff, rollover
 +    unsigned char jog4Rot;          // 0x0000..0x00ff, rollover
 +    unsigned char jog3Rot;          // 0x0000..0x00ff, rollover
 +    unsigned char jog1Rot;          // 0x0000..0x00ff, rollover
 +  
 +    unsigned short rotAGain;        // 0x0000..0x7dc0, mask: 0xfff0
 +    unsigned short rotBGain;        // 0x0000..0x7dc0, mask: 0xfff0
 +    unsigned short rotAHigh;        // 0x0000..0x7dc0, mask: 0xfff0
 +    unsigned short rotBHigh;        // 0x0000..0x7dc0, mask: 0xfff0
 +    unsigned short rotAMid;         // 0x0000..0x7dc0, mask: 0xfff0
 +    unsigned short rotBMid;         // 0x0000..0x7dc0, mask: 0xfff0
 +    unsigned short rotALow;         // 0x0000..0x7dc0, mask: 0xfff0
 +    unsigned short rotBLow;         // 0x0000..0x7dc0, mask: 0xfff0
 +  
 +    unsigned short rotXFader;       // 0x0000..0x7dc0, mask: 0xfff0
 +    unsigned short rotMaster;       // 0x0000..0x7dc0, mask: 0xfff0
 +  
 +    unsigned short padY;            // 0x0000..0xffff, 0x0000:bottom 
 +    unsigned short padX;            // 0x0000..0xffff, 0x0000:left
 +    unsigned short pitchA;          // 0x0000..0xffff
 +    unsigned short pitchB;          // 0x0000..0xffff
 +  
 +    unsigned int buttons;           // one-hot bitmask for 32 button actions
 +  
 +    unsigned char filler;
 +    unsigned char msgCounter;      // 0x0000..0xff00, mask:0xff00, rollover
 +    unsigned short status;          // 0x0000: Deck A, 0x0001: Deck B
 +  
 +    unsigned char _36_reserved;
 +    unsigned char _37_reserved;
 +    unsigned int _38_3b_reserved;
 +    unsigned int _3c_3f_reserved;
 +  } __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