Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

friedhof:otus

Dies ist eine alte Version des Dokuments!


Inhaltsverzeichnis

OTUS

hadez bought an OTUS and doesn't get around using it. Be nice, don't scratch it, don't drown it in club-mate.

Drivers

User: ywrlroxuriw
Pass: ywrlroxuriwywrlroxuriw

OTUS Product Support Website

Windows

OSX

Linux

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.

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;
friedhof/otus.1305740937.txt.gz · Zuletzt geändert: 2011-05-18 19:48 von ::ffff:93.231.138.14