Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 25 of 30

Thread: USB HID Touchscreen support needed

Threaded View

  1. #1
    Junior Member
    Join Date
    Jan 2016
    Posts
    19

    USB HID Touchscreen support needed

    Thanks for the USB HID Mouse, Keyboard, Joystick and Midi support. Also I need USB HID Touchscreen support.

    In this post you find the USB Touchscreen Device Descriptor of my Touchscreen (10 Finger Multi-Touch) that is working fine with OSX, Linux and Android.

    Infos about the MultiTouch Report you can find here: http://janaxelson.com/forum/index.php?topic=733.0


    It would be nice if you can support it in the next Teensy updates, I'm using Teensy 3.2 with the Arduino IDE 1.6.6





    Report Descriptor:
    --------------------


    Usage Page (Digitizer) 05 0D
    Usage (Touch Screen) 09 04
    Collection (Application) A1 01
    Report ID (1) 85 01
    Usage (Finger) 09 22
    Collection (Logical) A1 02
    Usage (Tip Switch) 09 42
    Logical Minimum (0) 15 00
    Logical Maximum (1) 25 01
    Report Size (1) 75 01
    Report Count (1) 95 01
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Report Count (2) 95 02
    Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 03
    Usage (Contact Identifier) 09 51
    Logical Maximum (31) 25 1F
    Report Size (5) 75 05
    Report Count (1) 95 01
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Usage Page (Generic Desktop) 05 01
    Logical Maximum (32767) 26 FF 7F
    Report Size (16) 75 10
    Unit Exponent (-2) 55 0E
    Unit (SI Lin: Length (cm)) 65 11
    Usage (X) 09 30
    Physical Minimum (0) 35 00
    Physical Maximum (5095) 46 E7 13
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Physical Maximum (2866) 46 32 0B
    Usage (Y) 09 31
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Physical Maximum (0) 45 00
    End Collection C0
    Usage Page (Digitizer) 05 0D
    Usage (Finger) 09 22
    Collection (Logical) A1 02
    Usage (Tip Switch) 09 42
    Logical Minimum (0) 15 00
    Logical Maximum (1) 25 01
    Report Size (1) 75 01
    Report Count (1) 95 01
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Report Count (2) 95 02
    Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 03
    Usage (Contact Identifier) 09 51
    Logical Maximum (31) 25 1F
    Report Size (5) 75 05
    Report Count (1) 95 01
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Usage Page (Generic Desktop) 05 01
    Logical Maximum (32767) 26 FF 7F
    Report Size (16) 75 10
    Unit Exponent (-2) 55 0E
    Unit (SI Lin: Length (cm)) 65 11
    Usage (X) 09 30
    Physical Minimum (0) 35 00
    Physical Maximum (5095) 46 E7 13
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Physical Maximum (2866) 46 32 0B
    Usage (Y) 09 31
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Physical Maximum (0) 45 00
    End Collection C0
    Usage Page (Digitizer) 05 0D
    Usage (Finger) 09 22
    Collection (Logical) A1 02
    Usage (Tip Switch) 09 42
    Logical Minimum (0) 15 00
    Logical Maximum (1) 25 01
    Report Size (1) 75 01
    Report Count (1) 95 01
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Report Count (2) 95 02
    Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 03
    Usage (Contact Identifier) 09 51
    Logical Maximum (31) 25 1F
    Report Size (5) 75 05
    Report Count (1) 95 01
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Usage Page (Generic Desktop) 05 01
    Logical Maximum (32767) 26 FF 7F
    Report Size (16) 75 10
    Unit Exponent (-2) 55 0E
    Unit (SI Lin: Length (cm)) 65 11
    Usage (X) 09 30
    Physical Minimum (0) 35 00
    Physical Maximum (5095) 46 E7 13
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Physical Maximum (2866) 46 32 0B
    Usage (Y) 09 31
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Physical Maximum (0) 45 00
    End Collection C0
    Usage Page (Digitizer) 05 0D
    Usage (Finger) 09 22
    Collection (Logical) A1 02
    Usage (Tip Switch) 09 42
    Logical Minimum (0) 15 00
    Logical Maximum (1) 25 01
    Report Size (1) 75 01
    Report Count (1) 95 01
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Report Count (2) 95 02
    Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 03
    Usage (Contact Identifier) 09 51
    Logical Maximum (31) 25 1F
    Report Size (5) 75 05
    Report Count (1) 95 01
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Usage Page (Generic Desktop) 05 01
    Logical Maximum (32767) 26 FF 7F
    Report Size (16) 75 10
    Unit Exponent (-2) 55 0E
    Unit (SI Lin: Length (cm)) 65 11
    Usage (X) 09 30
    Physical Minimum (0) 35 00
    Physical Maximum (5095) 46 E7 13
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Physical Maximum (2866) 46 32 0B
    Usage (Y) 09 31
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Physical Maximum (0) 45 00
    End Collection C0
    Usage Page (Digitizer) 05 0D
    Usage (Finger) 09 22
    Collection (Logical) A1 02
    Usage (Tip Switch) 09 42
    Logical Minimum (0) 15 00
    Logical Maximum (1) 25 01
    Report Size (1) 75 01
    Report Count (1) 95 01
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Report Count (2) 95 02
    Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 03
    Usage (Contact Identifier) 09 51
    Logical Maximum (31) 25 1F
    Report Size (5) 75 05
    Report Count (1) 95 01
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Usage Page (Generic Desktop) 05 01
    Logical Maximum (32767) 26 FF 7F
    Report Size (16) 75 10
    Unit Exponent (-2) 55 0E
    Unit (SI Lin: Length (cm)) 65 11
    Usage (X) 09 30
    Physical Minimum (0) 35 00
    Physical Maximum (5095) 46 E7 13
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Physical Maximum (2866) 46 32 0B
    Usage (Y) 09 31
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Physical Maximum (0) 45 00
    End Collection C0
    Usage Page (Digitizer) 05 0D
    Logical Minimum (0) 15 00
    Logical Maximum (65535) 27 FF FF 00 00
    Report Size (16) 75 10
    Report Count (1) 95 01
    Usage (Scan Time) 09 56
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Logical Maximum (10) 25 0A
    Report Size (8) 75 08
    Usage (Contact Count) 09 54
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Report ID (68) 85 44
    Usage (Contact Count Maximum) 09 55
    Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) B1 02
    Report ID (68) 85 44
    Usage Page (Vendor-Defined 1) 06 00 FF
    Usage (Vendor-Defined 197) 09 C5
    Logical Maximum (255) 26 FF 00
    Report Count (256) 96 00 01
    Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) B1 02
    Report ID (240) 85 F0
    Usage (Vendor-Defined 1) 09 01
    Report Count (4) 95 04
    Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) B1 02
    Report ID (242) 85 F2
    Usage (Vendor-Defined 3) 09 03
    Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) B1 02
    Usage (Vendor-Defined 4) 09 04
    Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) B1 02
    Usage (Vendor-Defined 5) 09 05
    Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) B1 02
    Report Count (1) 95 01
    Usage (Vendor-Defined 6) 09 06
    Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) B1 02
    Usage (Vendor-Defined 7) 09 07
    Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) B1 02
    Report ID (241) 85 F1
    Usage (Vendor-Defined 2) 09 02
    Report Count (7) 95 07
    Output (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) 91 02
    Report ID (243) 85 F3
    Usage (Vendor-Defined 8) 09 08
    Report Count (61) 95 3D
    Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) B1 02
    End Collection C0







    static const uint8_t _hidReportDescriptor[] PROGMEM = {

    0x05, 0x0D, // Usage Page (Digitizer)
    0x09, 0x04, // Usage (Touch Screen)
    0xA1, 0x01, // Collection (Application)
    0x85, 0x01, // Report ID (1)
    0x09, 0x22, // Usage (Finger)
    0xA1, 0x02, // Collection (Logical)
    0x09, 0x42, // Usage (Tip Switch)
    0x15, 0x00, // Logical Minimum (0)
    0x25, 0x01, // Logical Maximum (1)
    0x75, 0x01, // Report Size (1)
    0x95, 0x01, // Report Count (1)
    0x81, 0x02, // Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x95, 0x02, // Report Count (2)
    0x81, 0x03, // Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x09, 0x51, // Usage (Contact Identifier)
    0x25, 0x1F, // Logical Maximum (31)
    0x75, 0x05, // Report Size (5)
    0x95, 0x01, // Report Count (1)
    0x81, 0x02, // Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x05, 0x01, // Usage Page (Generic Desktop)
    0x26, 0xFF, 0x7F, // Logical Maximum (32767)
    0x75, 0x10, // Report Size (16)
    0x55, 0x0E, // Unit Exponent (-2)
    0x65, 0x11, // Unit (SI Lin: Length (cm))
    0x09, 0x30, // Usage (X)
    0x35, 0x00, // Physical Minimum (0)
    0x46, 0xE7, 0x13, // Physical Maximum (5095)
    0x81, 0x02, // Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x46, 0x32, 0x0B, // Physical Maximum (2866)
    0x09, 0x31, // Usage (Y)
    0x81, 0x02, // Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x45, 0x00, // Physical Maximum (0)
    0xC0, // End Collection

    0x05, 0x0D, // Usage Page (Digitizer)
    0x09, 0x22, // Usage (Finger)
    0xA1, 0x02, // Collection (Logical)
    0x09, 0x42, // Usage (Tip Switch)
    0x15, 0x00, // Logical Minimum (0)
    0x25, 0x01, // Logical Maximum (1)
    0x75, 0x01, // Report Size (1)
    0x95, 0x01, // Report Count (1)
    0x81, 0x02, // Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x95, 0x02, // Report Count (2)
    0x81, 0x03, // Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x09, 0x51, // Usage (Contact Identifier)
    0x25, 0x1F, // Logical Maximum (31)
    0x75, 0x05, // Report Size (5)
    0x95, 0x01, // Report Count (1)
    0x81, 0x02, // Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x05, 0x01, // Usage Page (Generic Desktop)
    0x26, 0xFF, 0x7F, // Logical Maximum (32767)
    0x75, 0x10, // Report Size (16)
    0x55, 0x0E, // Unit Exponent (-2)
    0x65, 0x11, // Unit (SI Lin: Length (cm))
    0x09, 0x30, // Usage (X)
    0x35, 0x00, // Physical Minimum (0)
    0x46, 0xE7, 0x13, // Physical Maximum (5095)
    0x81, 0x02, // Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x46, 0x32, 0x0B, // Physical Maximum (2866)
    0x09, 0x31, // Usage (Y)
    0x81, 0x02, // Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x45, 0x00, // Physical Maximum (0)
    0xC0, // End Collection

    0x05, 0x0D, // Usage Page (Digitizer)
    0x09, 0x22, // Usage (Finger)
    0xA1, 0x02, // Collection (Logical)
    0x09, 0x42, // Usage (Tip Switch)
    0x15, 0x00, // Logical Minimum (0)
    0x25, 0x01, // Logical Maximum (1)
    0x75, 0x01, // Report Size (1)
    0x95, 0x01, // Report Count (1)
    0x81, 0x02, // Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x95, 0x02, // Report Count (2)
    0x81, 0x03, // Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x09, 0x51, // Usage (Contact Identifier)
    0x25, 0x1F, // Logical Maximum (31)
    0x75, 0x05, // Report Size (5)
    0x95, 0x01, // Report Count (1)
    0x81, 0x02, // Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x05, 0x01, // Usage Page (Generic Desktop)
    0x26, 0xFF, 0x7F, // Logical Maximum (32767)
    0x75, 0x10, // Report Size (16)
    0x55, 0x0E, // Unit Exponent (-2)
    0x65, 0x11, // Unit (SI Lin: Length (cm))
    0x09, 0x30, // Usage (X)
    0x35, 0x00, // Physical Minimum (0)
    0x46, 0xE7, 0x13, // Physical Maximum (5095)
    0x81, 0x02, // Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x46, 0x32, 0x0B, // Physical Maximum (2866)
    0x09, 0x31, // Usage (Y)
    0x81, 0x02, // Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x45, 0x00, // Physical Maximum (0)
    0xC0, // End Collection

    0x05, 0x0D, // Usage Page (Digitizer)
    0x09, 0x22, // Usage (Finger)
    0xA1, 0x02, // Collection (Logical)
    0x09, 0x42, // Usage (Tip Switch)
    0x15, 0x00, // Logical Minimum (0)
    0x25, 0x01, // Logical Maximum (1)
    0x75, 0x01, // Report Size (1)
    0x95, 0x01, // Report Count (1)
    0x81, 0x02, // Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x95, 0x02, // Report Count (2)
    0x81, 0x03, // Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x09, 0x51, // Usage (Contact Identifier)
    0x25, 0x1F, // Logical Maximum (31)
    0x75, 0x05, // Report Size (5)
    0x95, 0x01, // Report Count (1)
    0x81, 0x02, // Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x05, 0x01, // Usage Page (Generic Desktop)
    0x26, 0xFF, 0x7F, // Logical Maximum (32767)
    0x75, 0x10, // Report Size (16)
    0x55, 0x0E, // Unit Exponent (-2)
    0x65, 0x11, // Unit (SI Lin: Length (cm))
    0x09, 0x30, // Usage (X)
    0x35, 0x00, // Physical Minimum (0)
    0x46, 0xE7, 0x13, // Physical Maximum (5095)
    0x81, 0x02, // Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x46, 0x32, 0x0B, // Physical Maximum (2866)
    0x09, 0x31, // Usage (Y)
    0x81, 0x02, // Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x45, 0x00, // Physical Maximum (0)
    0xC0, // End Collection

    0x05, 0x0D, // Usage Page (Digitizer)
    0x09, 0x22, // Usage (Finger)
    0xA1, 0x02, // Collection (Logical)
    0x09, 0x42, // Usage (Tip Switch)
    0x15, 0x00, // Logical Minimum (0)
    0x25, 0x01, // Logical Maximum (1)
    0x75, 0x01, // Report Size (1)
    0x95, 0x01, // Report Count (1)
    0x81, 0x02, // Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x95, 0x02, // Report Count (2)
    0x81, 0x03, // Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x09, 0x51, // Usage (Contact Identifier)
    0x25, 0x1F, // Logical Maximum (31)
    0x75, 0x05, // Report Size (5)
    0x95, 0x01, // Report Count (1)
    0x81, 0x02, // Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x05, 0x01, // Usage Page (Generic Desktop)
    0x26, 0xFF, 0x7F, // Logical Maximum (32767)
    0x75, 0x10, // Report Size (16)
    0x55, 0x0E, // Unit Exponent (-2)
    0x65, 0x11, // Unit (SI Lin: Length (cm))
    0x09, 0x30, // Usage (X)
    0x35, 0x00, // Physical Minimum (0)
    0x46, 0xE7, 0x13, // Physical Maximum (5095)
    0x81, 0x02, // Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x46, 0x32, 0x0B, // Physical Maximum (2866)
    0x09, 0x31, // Usage (Y)
    0x81, 0x02, // Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x45, 0x00, // Physical Maximum (0)
    0xC0, // End Collection

    0x05, 0x0D, // Usage Page (Digitizer)
    0x15, 0x00, // Logical Minimum (0)
    0x27, 0xFF, 0xFF, 0x00, 0x00, // Logical Maximum (65535)
    0x75, 0x10, // Report Size (16)
    0x95, 0x01, // Report Count (1)
    0x09, 0x56, // Usage (Scan Time)
    0x81 ,0x02, // Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x25, 0x0A, // Logical Maximum (10)
    0x75, 0x08, // Report Size (8)
    0x09, 0x54, // Usage (Contact Count)
    0x81, 0x02, // Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)
    0x85, 0x44, // Report ID (68)
    0x09, 0x55, // Usage (Contact Count Maximum)
    0xB1, 0x02, // Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit)
    0x85, 0x44, // Report ID (68)
    0x06, 0x00, 0xFF, // Usage Page (Vendor-Defined 1)
    0x09, 0xC5, // Usage (Vendor-Defined 197)
    0x26, 0xFF, 0x00, // Logical Maximum (255)
    0x96, 0x00, 0x01, // Report Count (256)
    0xB1, 0x02, // Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit)
    0x85, 0xF0, // Report ID (240)
    0x09, 0x01, // Usage (Vendor-Defined 1)
    0x95, 0x04, // Report Count (4)
    0xB1, 0x02, // Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit)
    0x85, 0xF2, // Report ID (242)
    0x09, 0x03, // Usage (Vendor-Defined 3)
    0xB1, 0x02, // Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit)
    0x09, 0x04, // Usage (Vendor-Defined 4)
    0xB1, 0x02, // Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit)
    0x09, 0x05, // Usage (Vendor-Defined 5)
    0xB1, 0x02, // Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit)
    0x95, 0x01, // Report Count (1)
    0x09, 0x06, // Usage (Vendor-Defined 6)
    0xB1, 0x02, // Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit)
    0x09, 0x07, // Usage (Vendor-Defined 7)
    0xB1, 0x02, // Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit)
    0x85, 0xF1, // Report ID (241)
    0x09, 0x02, // Usage (Vendor-Defined 2)
    0x95, 0x07, // Report Count (7)
    0x91, 0x02, // Output (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit)
    0x85, 0xF3, // Report ID (243)
    0x09, 0x08, // Usage (Vendor-Defined 8)
    0x95, 0x3D, // Report Count (61)
    0xB1, 0x02, // Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit)
    0xC0 // End Collection






    Information for device CoolTouch(TM) System (VID=0x2149 PID=0x2316):

    Connection Information:
    ------------------------------
    Connection status: Device connected
    Device actual bus speed: FullSpeed
    Device is hub: No
    Device address: 0x0002
    Current configuration value: 0x01
    Number of open pipes: 4

    Device Descriptor:
    ------------------------------
    0x12 bLength
    0x01 bDescriptorType
    0x0200 bcdUSB
    0x00 bDeviceClass
    0x00 bDeviceSubClass
    0x00 bDeviceProtocol
    0x40 bMaxPacketSize0 (64 Bytes)
    0x2149 idVendor
    0x2316 idProduct
    0x1331 bcdDevice
    0x01 iManufacturer "Advanced Silicon S.A"
    0x02 iProduct "CoolTouch(TM) System"
    0x00 iSerialNumber
    0x01 bNumConfigurations
    Hex dump:
    0x12 0x01 0x00 0x02 0x00 0x00 0x00 0x40 0x49 0x21
    0x16 0x23 0x31 0x13 0x01 0x02 0x00 0x01

    Configuration Descriptor:
    ------------------------------
    0x09 bLength
    0x02 bDescriptorType
    0x0049 wTotalLength (73 Bytes)
    0x02 bNumInterfaces
    0x01 bConfigurationValue
    0x03 iConfiguration "CoolTouch® System 104 "
    0xA0 bmAttributes (Bus-powered Device, Remote-Wakeup)
    0xFA bMaxPower (500 mA)
    Hex dump:
    0x09 0x02 0x49 0x00 0x02 0x01 0x03 0xA0 0xFA

    Interface Descriptor:
    ------------------------------
    0x09 bLength
    0x04 bDescriptorType
    0x00 bInterfaceNumber
    0x00 bAlternateSetting
    0x02 bNumEndPoints
    0x03 bInterfaceClass (Human Interface Device Class)
    0x00 bInterfaceSubClass
    0x00 bInterfaceProtocol
    0x04 iInterface "CoolTouch® USB Interface 1 "
    Hex dump:
    0x09 0x04 0x00 0x00 0x02 0x03 0x00 0x00 0x04

    HID Descriptor:
    ------------------------------
    0x09 bLength
    0x21 bDescriptorType
    0x0110 bcdHID
    0x00 bCountryCode
    0x01 bNumDescriptors
    0x22 bDescriptorType (Report descriptor)
    0x019B bDescriptorLength
    Hex dump:
    0x09 0x21 0x10 0x01 0x00 0x01 0x22 0x9B 0x01

    Endpoint Descriptor:
    ------------------------------
    0x07 bLength
    0x05 bDescriptorType
    0x01 bEndpointAddress (OUT Endpoint)
    0x03 bmAttributes (Transfer: Interrupt / Synch: None / Usage: Data)
    0x0040 wMaxPacketSize (64 Bytes)
    0x01 bInterval
    Hex dump:
    0x07 0x05 0x01 0x03 0x40 0x00 0x01

    Endpoint Descriptor:
    ------------------------------
    0x07 bLength
    0x05 bDescriptorType
    0x81 bEndpointAddress (IN Endpoint)
    0x03 bmAttributes (Transfer: Interrupt / Synch: None / Usage: Data)
    0x0040 wMaxPacketSize (64 Bytes)
    0x01 bInterval
    Hex dump:
    0x07 0x05 0x81 0x03 0x40 0x00 0x01

    Interface Descriptor:
    ------------------------------
    0x09 bLength
    0x04 bDescriptorType
    0x01 bInterfaceNumber
    0x00 bAlternateSetting
    0x02 bNumEndPoints
    0x03 bInterfaceClass (Human Interface Device Class)
    0x00 bInterfaceSubClass
    0x00 bInterfaceProtocol
    0x04 iInterface "CoolTouch® USB Interface 1 "
    Hex dump:
    0x09 0x04 0x01 0x00 0x02 0x03 0x00 0x00 0x04

    HID Descriptor:
    ------------------------------
    0x09 bLength
    0x21 bDescriptorType
    0x0110 bcdHID
    0x00 bCountryCode
    0x01 bNumDescriptors
    0x22 bDescriptorType (Report descriptor)
    0x001D bDescriptorLength
    Hex dump:
    0x09 0x21 0x10 0x01 0x00 0x01 0x22 0x1D 0x00

    Endpoint Descriptor:
    ------------------------------
    0x07 bLength
    0x05 bDescriptorType
    0x02 bEndpointAddress (OUT Endpoint)
    0x03 bmAttributes (Transfer: Interrupt / Synch: None / Usage: Data)
    0x0040 wMaxPacketSize (64 Bytes)
    0x01 bInterval
    Hex dump:
    0x07 0x05 0x02 0x03 0x40 0x00 0x01

    Endpoint Descriptor:
    ------------------------------
    0x07 bLength
    0x05 bDescriptorType
    0x82 bEndpointAddress (IN Endpoint)
    0x03 bmAttributes (Transfer: Interrupt / Synch: None / Usage: Data)
    0x0040 wMaxPacketSize (64 Bytes)
    0x01 bInterval
    Hex dump:
    0x07 0x05 0x82 0x03 0x40 0x00 0x01

    Microsoft OS Descriptor:
    ------------------------------
    0x12 bLength
    0x03 bDescriptorType
    Hex dump:
    0x12 0x03 0x4D 0x00 0x53 0x00 0x46 0x00 0x54 0x00
    0x31 0x00 0x30 0x00 0x30 0x00 0x01 0x00

    String Descriptor Table
    --------------------------------
    Index LANGID String
    0x00 0x0000 0x0409
    Hex dump:
    0x04 0x03 0x09 0x04

    0x01 0x0409 "Advanced Silicon S.A"
    Hex dump:
    0x2A 0x03 0x41 0x00 0x64 0x00 0x76 0x00 0x61 0x00
    0x6E 0x00 0x63 0x00 0x65 0x00 0x64 0x00 0x20 0x00
    0x53 0x00 0x69 0x00 0x6C 0x00 0x69 0x00 0x63 0x00
    0x6F 0x00 0x6E 0x00 0x20 0x00 0x53 0x00 0x2E 0x00
    0x41 0x00

    0x02 0x0409 "CoolTouch(TM) System"
    Hex dump:
    0x2A 0x03 0x43 0x00 0x6F 0x00 0x6F 0x00 0x6C 0x00
    0x54 0x00 0x6F 0x00 0x75 0x00 0x63 0x00 0x68 0x00
    0x28 0x00 0x54 0x00 0x4D 0x00 0x29 0x00 0x20 0x00
    0x53 0x00 0x79 0x00 0x73 0x00 0x74 0x00 0x65 0x00
    0x6D 0x00

    0x03 0x0409 "CoolTouch® System 104 "
    Hex dump:
    0x4E 0x03 0x43 0x00 0x6F 0x00 0x6F 0x00 0x6C 0x00
    0x54 0x00 0x6F 0x00 0x75 0x00 0x63 0x00 0x68 0x00
    0xAE 0x00 0x20 0x00 0x53 0x00 0x79 0x00 0x73 0x00
    0x74 0x00 0x65 0x00 0x6D 0x00 0x20 0x00 0x31 0x00
    0x30 0x00 0x34 0x00 0x20 0x00 0x20 0x00 0x20 0x00
    0x20 0x00 0x20 0x00 0x20 0x00 0x20 0x00 0x20 0x00
    0x20 0x00 0x20 0x00 0x20 0x00 0x20 0x00 0x20 0x00
    0x20 0x00 0x20 0x00 0x20 0x00 0x20 0x00

    0x04 0x0409 "CoolTouch® USB Interface 1 "
    Hex dump:
    0x4E 0x03 0x43 0x00 0x6F 0x00 0x6F 0x00 0x6C 0x00
    0x54 0x00 0x6F 0x00 0x75 0x00 0x63 0x00 0x68 0x00
    0xAE 0x00 0x20 0x00 0x55 0x00 0x53 0x00 0x42 0x00
    0x20 0x00 0x49 0x00 0x6E 0x00 0x74 0x00 0x65 0x00
    0x72 0x00 0x66 0x00 0x61 0x00 0x63 0x00 0x65 0x00
    0x20 0x00 0x31 0x00 0x20 0x00 0x20 0x00 0x20 0x00
    0x20 0x00 0x20 0x00 0x20 0x00 0x20 0x00 0x20 0x00
    0x20 0x00 0x20 0x00 0x20 0x00 0x20 0x00

    ------------------------------

    Whole Device Descriptor as hex dump:
    0x12, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x49, 0x21,
    0x16, 0x23, 0x31, 0x13, 0x01, 0x02, 0x00, 0x01

    Whole Configuration Descriptor as hex dump:
    0x09, 0x02, 0x49, 0x00, 0x02, 0x01, 0x03, 0xA0, 0xFA, 0x09,
    0x04, 0x00, 0x00, 0x02, 0x03, 0x00, 0x00, 0x04, 0x09, 0x21,
    0x10, 0x01, 0x00, 0x01, 0x22, 0x9B, 0x01, 0x07, 0x05, 0x01,
    0x03, 0x40, 0x00, 0x01, 0x07, 0x05, 0x81, 0x03, 0x40, 0x00,
    0x01, 0x09, 0x04, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x04,
    0x09, 0x21, 0x10, 0x01, 0x00, 0x01, 0x22, 0x1D, 0x00, 0x07,
    0x05, 0x02, 0x03, 0x40, 0x00, 0x01, 0x07, 0x05, 0x82, 0x03,
    0x40, 0x00, 0x01

    Whole String Descriptor as hex dump:
    0x12, 0x03, 0x4D, 0x00, 0x53, 0x00, 0x46, 0x00, 0x54, 0x00,
    0x31, 0x00, 0x30, 0x00, 0x30, 0x00, 0x01, 0x00


    ------------------------------

    Connection path for device:
    Standard OpenHCD USB-Hostcontroller
    Root Hub
    CoolTouch(TM) System (VID=0x2149 PID=0x2316) Port: 2

    Running on: Windows 7 with Service Pack 1

    Brought to you by TDD v1.84.0, Dec 14 2015, 09:19:38
    Last edited by MajorTom; 01-03-2016 at 07:20 AM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •