locked
HID Endpoint Descriptor Question RRS feed

  • Question

  • Hi experts:

    I have a question on HID Endpoint Descriptor:

    Here's the doc on "bEndpointAddress":

    Bits 0..3b Endpoint Number.
    Bits 4..6b Reserved.
    Set to Zero
    Bits 7 Direction 0 = Out, 1 = In (Ignored for Control
    Endpoints)

    My questions are:

    1. What do "in" and "out" stand for? Does "in" mean
    device to host ?

    2. If I'm collect raw data from a controller, I'd
    work with the "in" endpoint only, correct ?

    3. If there are multiple "in" endpoints, which one
    should I choose ?

    Thanks in advance


    leo

    Thursday, August 27, 2015 7:02 PM

Answers

  • You should read a book on USB. Here is an online book that describes the standard

    1 and 2. Yes, IN transfers are going to the host, and OUT to the device

    3. You need to understand how the device operates. For devices that conform to a supported class type, such as storage (USB flash disk) or HID, there are specifications that describe how the device operates. Look at the USB website.

    For HID devices, you do not need to write a driver; Windows has a HID class driver. An application can get the HID reports using Win32 APIs. Drivers can access HID reports as described here

     -Brian


    Azius Developer Training www.azius.com Windows device driver, internals, security, & forensics training and consulting. Blog at www.azius.com/blog

    • Marked as answer by Brian Catlin Thursday, August 27, 2015 7:15 PM
    Thursday, August 27, 2015 7:15 PM