This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Problems with HID mouse example

Other Parts Discussed in Thread: MSP430F5529, MSP-TS430PN80USB

I'm trying to run the example below:

C:\....\Texas Instruments\MSP430 Code (USB API Stack + Application Examples)\HID-only examples\IAR\HID-Traditional\API Stack (H7)

The PC recognizes the HID device correctly, but the mouse does not move on the screen, possibly have some setting wrong, or am I forgetting to configure something, someone could pass me exactly how to configure the MSP430 USB Descriptor Tool?
Do you have any manual changes in the descriptor files?

  • Gabriel,

     

    I've seen an issue where it takes ~30 seconds for the mouse to start. Can you see whether that is true in your case?

     

    Gustavo

  • Not the case, waited several minutes.

  • Hi Gabriel,

    Are you able to provide a few more details about your set up.

    • What is the part number of the MSP430 device you are using?
    • Are you currently using one of our MSP430 target boards or a custom board design?
    • Which IDE (CCS/IAR) are you using and what is the current version?
    • I know that you are currently running the HID mouse example, were you able to successfully run any of the other examples included in the "MSP430 Code (USB API Stack + Application Examples)"?

    - Devin

  • What is the part number of the MSP430 device you are using?
    _MSP430F5529

    Are you currently using one of our MSP430 target boards or a custom board design?
    _ custom board design (0143.tec.pdf

    Which IDE (CCS/IAR) are you using and what is the current version?
    _IAR 6.0

    I know that you are currently running the HID mouse example, were you able to successfully run any of the other examples included in the "MSP430 Code (USB API Stack + Application Examples)"?
    _I have only tested the example mentioned, Windows XP and Seven

  • bInterfaceSubClass and  bInterfaceProtocol are zero, is this correct?

  • > bInterfaceSubClass and  bInterfaceProtocol are zero, is this correct?

    Just BIOS sees these fields, OS ignores.
    For the details, visit to this post.

    MSP430f550x Keyboard HID


    Tsuneo

  • Hi Gabriel,

    I tested these mouse examples on MSP-TS430PN80USB baord (TI's USB 80-pin Target board).
    - TI v2.1.1 stack:
    C:\Program Files\Texas Instruments\MSP430 Code (USB API Stack + Application Examples)\HID-only examples\IAR\HID-Traditional\API Stack (H7)
    - TI v3.0.0.0 stack:
    C:\MSP430_USB_Developers_Package_3_0_0_0\MSP430_USB_API_Stacks\examples\hidExamples\hidTraditional\IAR\mouse_H7_Example

    Both of these examples work as described without any change.

    On a hardware bus analyzer,
    Enumeration doesn't take more than 300 ms on these examples, for the second and later plugins. The first plugin takes a little more for registration to Windows.

    Also, these examples successfully pass Ch9 and HID tests of USB20CV (USB compliance test from USB.org).


    I believe it's your hardware problem.
    On your schematic (0143.tec.pdf), Vbus (65 pin) and Vusb pin (66 pin) are tied to +5V rail over R47 and R46, respectively.
    What is the value of these resistors?

    There is no reason for R46, which connects Vusb to 5V rail.
    a) Remove R46 resistor, and add a bypass capacitor (220nF) to Vusb pin.
    The examples enable on-chip 3V3 regulator on the USB power domain, which is supplied by Vbus pin, and which sources to Vusb pin. This on-chip regulator conflicts with the +5V rail over R46.

    OR
    b) Tie Vusb pin to on-board 3V3 rail.
    And modify USB_init() as follows, to disable on-chip 3V3 regulator.

    \USB_API\USB_Common\usb.c
    BYTE USB_init(VOID)
    {
        ...
    //  USBPWRCTL   =     VUSBEN + SLDOAON; // enable primary and secondary LDO (3.3 and 1.8 V)
        USBPWRCTL   =              SLDOAON; // enable just secondary LDO (1.8 V)        // <--------
        {
            volatile unsigned int i;
            for (i =0; i < USB_MCLK_FREQ/1000*2/10; i++);      // wait some time for LDOs (1ms delay)
        }

    //  USBPWRCTL   =   VUSBEN + SLDOAON + VBONIE;  // enable interrupt VBUSon
        USBPWRCTL   =            SLDOAON + VBONIE;  // enable interrupt VBUSon           // <--------

     

    Vusb pin supplies to the on-chip USB transceiver.  When this voltage is either too high or too low, you'll get such a trouble you've experienced.

     

    Tsuneo

  • Ops, this is the correct sch:
    6507.tec2.pdf

  • Ah, I see. Remove R27.
    R27 ties PUR pin to VUSB. It invokes USB bootloader at startup.

    Tsuneo

  • R27 removed, nothing ...

  • On your schematic (6507.tec2.pdf), the circuits around power source and USB connector are not shown.

    1) Is +3V3 supplied from a separate power source ?
    Or Is it sourced from USB receptacle over a regulator?

    2) Is 5V_USB, which is connected to VBUS pin, directly attached to the VBUS (5V) pin of the USB receptacle?


    After R27 is removed,
    a) Do you hear connection sound at plug in to Windows PC?
    b) What is the voltage of Vusb pin (66pin), while the board plugs in to a PC?

    Tsuneo

  • The 3V3 and 5V VBUS included, are provided by an independent source, not using the USB source, that is, always has 5V on VBUS
    By connecting the PC, it usually appears in the list in device manager as Human Interface Device (HID) and shows its features usually only a mouse that does not move

  • USB properties USBlyzer:

    <html><head>
    <title>USBlyzer Report</title>
    <style type="text/css">
    body {padding:0px 0px 0px 0px;background:#fff;color:#000;font-family:Arial,Verdana,Helvetica,sans-serif;font-size:8pt;}
    th {padding-top:0px;padding-right:3px;padding-bottom:0px;padding-left:3px;background:#c9c9c9;color:#fff;text-align:left;font-size:8pt;font-weight:normal;vertical-align:bottom;border:#fff 1px solid;}
    td {padding-top:0px;padding-right:3px;padding-bottom:0px;padding-left:3px;background:#fff;vertical-align:top;font-size:8pt;}
    th.ud {padding-top:0px;padding-right:3px;padding-bottom:0px;padding-left:3px;background:#c9c9c9;color:#fff;text-align:left;font-size:8pt;font-weight:normal;vertical-align:bottom;border:#fff 1px solid;}
    td.ud {padding-top:0px;padding-right:3px;padding-bottom:0px;padding-left:3px;background:#fff;vertical-align:top;font-size:8pt;}
    td.udofs {padding-top:0px;padding-right:8px;padding-bottom:0px;padding-left:3px;font-family:"Courier New",Courier,mono;background:#fff;vertical-align:top;font-size:8pt;text-align:right;}
    td.udsiz {padding-top:0px;padding-right:8px;padding-bottom:0px;padding-left:3px;font-family:"Courier New",Courier,mono;background:#fff;vertical-align:top;font-size:8pt;text-align:right;}
    td.udval {padding-top:0px;padding-right:3px;padding-bottom:0px;padding-left:3px;font-family:"Courier New",Courier,mono;background:#fff;vertical-align:top;font-size:8pt;text-align:right;}
    td.udfld {padding-top:0px;padding-right:3px;padding-bottom:0px;padding-left:3px;background:#fff;vertical-align:top;font-size:8pt;}
    td.udbmfld {padding-top:0px;padding-right:3px;padding-bottom:0px;padding-left:20px;background:#fff;vertical-align:top;font-size:8pt;white-space:nowrap;}
    td.udhex {padding-top:0px;padding-right:3px;padding-bottom:0px;padding-left:3px;font-family:"Courier New",Courier,mono;background:#fff;vertical-align:top;font-size:8pt;text-align:left;white-space:nowrap;}
    td.uddes {padding-top:0px;padding-right:3px;padding-bottom:0px;padding-left:3px;background:#fff;vertical-align:top;font-size:8pt;}
    div.uddiv1 {font-size:8pt;font-style:normal;text-decoration:none;margin-top:12px;margin-right:0px;margin-bottom:4px;margin-left:1px;text-align:left;}
    div.uddiv2 {font-size:8pt;font-style:normal;text-decoration:none;margin-top:4px;margin-right:0px;margin-bottom:4px;margin-left:12px;text-align:left;}
    div.uddiv3 {font-size:8pt;font-style:normal;text-decoration:none;margin-top:2px;margin-right:0px;margin-bottom:2px;margin-left:0px;text-align:left;}
    div.uddiv4 {font-size:8pt;font-style:normal;text-decoration:none;margin-top:2px;margin-right:0px;margin-bottom:2px;margin-left:20px;text-align:left;}
    div.uddiv5 {font-size:8pt;font-style:normal;text-decoration:none;margin-top:6px;margin-right:0px;margin-bottom:6px;margin-left:20px;text-align:left;}
    div.uddiv6 {font-size:8pt;font-style:normal;font-weight:bold;text-decoration:none;margin-top:6px;margin-right:0;margin-bottom:4px;margin-left:0;text-align:left;}
    div.uddiv7 {font-size:8pt;font-style:normal;font-weight:normal;text-decoration:none;margin-top:2px;margin-right:0;margin-bottom:4px;margin-left:0;text-align:left;}
    a {color:#000;text-decoration:none;white-space:nowrap;}
    a:link {color:#000;text-decoration:none;white-space:nowrap;}
    a:hover {color:#000;text-decoration:none;white-space:nowrap;}
    a:visited {color:#000;text-decoration:none;white-space:nowrap;}
    a:active {color:#000;text-decoration:none;white-space:nowrap;}
    a.totop {color:#ccc;font-family:"Courier New",Courier,mono;text-decoration:none;white-space:nowrap;margin-left:8px;}
    .error {color:#f00;}
    div.hrddiv1 {font-size:8pt;font-style:normal;text-decoration:none;margin-top:12px;margin-right:0px;margin-bottom:4px;margin-left:1px;text-align:left;}
    div.hrddiv2 {font-size:8pt;font-style:normal;text-decoration:none;margin-top:2px;margin-right:0px;margin-bottom:2px;margin-left:0px;text-align:left;}
    th.hrd {padding-top:0px;padding-right:3px;padding-bottom:0px;padding-left:3px;background-color:#c9c9c9;color:#fff;text-align:left;font-size:8pt;white-space:nowrap;vertical-align:bottom;border:#fff 1px solid;font-weight:normal;}
    td.hrdn {padding-top:0px;padding-right:3px;padding-bottom:0px;padding-left:3px;vertical-align:top;font-size:8pt;white-space:nowrap;background-color:#fff;}
    td.hrdm {padding-top:0px;padding-right:3px;padding-bottom:0px;padding-left:3px;font-family:"Courier New",Courier,mono;vertical-align:top;font-size:8pt;text-align:left;white-space:nowrap;background-color:#fff;}
    td.hrdnin {padding-top:0px;padding-right:3px;padding-bottom:0px;padding-left:3px;vertical-align:top;font-size:8pt;white-space:nowrap;background-color:#e0ffe0;border:#e0ffe0 1px solid;}
    td.hrdmin {padding-top:0px;padding-right:3px;padding-bottom:0px;padding-left:3px;font-family:"Courier New",Courier,mono;vertical-align:top;font-size:8pt;text-align:left;white-space:nowrap;background-color:#e0ffe0;border:#e0ffe0 1px solid;}
    td.hrdnout {padding-top:0px;padding-right:3px;padding-bottom:0px;padding-left:3px;vertical-align:top;font-size:8pt;white-space:nowrap;background-color:#ffe4e4;border:#ffe4e4 1px solid;}
    td.hrdmout {padding-top:0px;padding-right:3px;padding-bottom:0px;padding-left:3px;font-family:"Courier New",Courier,mono;vertical-align:top;font-size:8pt;text-align:left;white-space:nowrap;background-color:#ffe4e4;border:#ffe4e4 1px solid;}
    td.hrdnfea {padding-top:0px;padding-right:3px;padding-bottom:0px;padding-left:3px;vertical-align:top;font-size:8pt;white-space:nowrap;background-color:#ffffd4;border:#ffffd4 1px solid;}
    td.hrdmfea {padding-top:0px;padding-right:3px;padding-bottom:0px;padding-left:3px;font-family:"Courier New",Courier,mono;vertical-align:top;font-size:8pt;text-align:left;white-space:nowrap;background-color:#ffffd4;border:#ffffd4 1px solid;}
    </style>
    </head>
    <body><a name="top"></a>
    <p align="left" style="padding-top:3px;padding-right:3px;padding-bottom:0px;padding-left:3px;font-family:Arial,Verdana,Helvetica,sans-serif;font-size:9pt;font-weight:bold;">&#x0044;&#x0069;&#x0073;&#x0070;&#x006F;&#x0073;&#x0069;&#x0074;&#x0069;&#x0076;&#x006F;&#x0020;&#x0064;&#x0065;&#x0020;&#x0069;&#x006E;&#x0074;&#x0065;&#x0072;&#x0066;&#x0061;&#x0063;&#x0065;&#x0020;&#x0068;&#x0075;&#x006D;&#x0061;&#x006E;&#x0061;&#x0020;&#x0055;&#x0053;&#x0042;</p>
    <table cellspacing="0">
    <tr vAlign="top"><td><b>Connection Status<b></td><td>Device connected</td></tr>
    <tr vAlign="top"><td><b>Current Configuration<b></td><td>1</td></tr>
    <tr vAlign="top"><td><b>Speed<b></td><td>Full</td></tr>
    <tr vAlign="top"><td><b>Device Address<b></td><td>2</td></tr>
    <tr vAlign="top"><td><b>Number Of Open Pipes<b></td><td>2</td></tr>
    </table>
    <div class="uddiv1"><a name="n8f784410"><b>Device Descriptor</b> MSP430-USB Example</a></div>
    <table cellspacing="0">
    <tr valign="top"><th class="ud">Offset</th><th class="ud">Field</th><th class="ud">Size</th><th class="ud">Value</th><th class="ud">Description</th></tr>
    <tr valign="top">
    <td class="udofs">0</td>
    <td class="udfld">bLength</td>
    <td class="udsiz">1</td>
    <td class="udval">12h</td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="udofs">1</td>
    <td class="udfld">bDescriptorType</td>
    <td class="udsiz">1</td>
    <td class="udval">01h</td>
    <td class="uddes">Device</td>
    </tr>
    <tr valign="top">
    <td class="udofs">2</td>
    <td class="udfld">bcdUSB</td>
    <td class="udsiz">2</td>
    <td class="udval">0200h</td>
    <td class="uddes">USB Spec 2.0</td>
    </tr>
    <tr valign="top">
    <td class="udofs">4</td>
    <td class="udfld">bDeviceClass</td>
    <td class="udsiz">1</td>
    <td class="udval">00h</td>
    <td class="uddes">Class info in Ifc Descriptors</td>
    </tr>
    <tr valign="top">
    <td class="udofs">5</td>
    <td class="udfld">bDeviceSubClass</td>
    <td class="udsiz">1</td>
    <td class="udval">00h</td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="udofs">6</td>
    <td class="udfld">bDeviceProtocol</td>
    <td class="udsiz">1</td>
    <td class="udval">00h</td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="udofs">7</td>
    <td class="udfld">bMaxPacketSize0</td>
    <td class="udsiz">1</td>
    <td class="udval">08h</td>
    <td class="uddes">8 bytes</td>
    </tr>
    <tr valign="top">
    <td class="udofs">8</td>
    <td class="udfld">idVendor</td>
    <td class="udsiz">2</td>
    <td class="udval">2047h</td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="udofs">10</td>
    <td class="udfld">idProduct</td>
    <td class="udsiz">2</td>
    <td class="udval">0301h</td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="udofs">12</td>
    <td class="udfld">bcdDevice</td>
    <td class="udsiz">2</td>
    <td class="udval">0200h</td>
    <td class="uddes">2.00</td>
    </tr>
    <tr valign="top">
    <td class="udofs">14</td>
    <td class="udfld">iManufacturer</td>
    <td class="udsiz">1</td>
    <td class="udval">01h</td>
    <td class="uddes">"Texas Instruments"</td>
    </tr>
    <tr valign="top">
    <td class="udofs">15</td>
    <td class="udfld">iProduct</td>
    <td class="udsiz">1</td>
    <td class="udval">02h</td>
    <td class="uddes">"MSP430-USB Example"</td>
    </tr>
    <tr valign="top">
    <td class="udofs">16</td>
    <td class="udfld">iSerialNumber</td>
    <td class="udsiz">1</td>
    <td class="udval">03h</td>
    <td class="uddes">"F53D8A461F002300"</td>
    </tr>
    <tr valign="top">
    <td class="udofs">17</td>
    <td class="udfld">bNumConfigurations</td>
    <td class="udsiz">1</td>
    <td class="udval">01h</td>
    <td class="ud"></td>
    </tr>
    </table>
    <div class="uddiv1"><a name="nc2294410"><b>Configuration Descriptor 1</b> Self Powered</a></div>
    <table cellspacing="0">
    <tr valign="top"><th class="ud">Offset</th><th class="ud">Field</th><th class="ud">Size</th><th class="ud">Value</th><th class="ud">Description</th></tr>
    <tr valign="top">
    <td class="udofs">0</td>
    <td class="udfld">bLength</td>
    <td class="udsiz">1</td>
    <td class="udval">09h</td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="udofs">1</td>
    <td class="udfld">bDescriptorType</td>
    <td class="udsiz">1</td>
    <td class="udval">02h</td>
    <td class="uddes">Configuration</td>
    </tr>
    <tr valign="top">
    <td class="udofs">2</td>
    <td class="udfld">wTotalLength</td>
    <td class="udsiz">2</td>
    <td class="udval">0029h</td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="udofs">4</td>
    <td class="udfld">bNumInterfaces</td>
    <td class="udsiz">1</td>
    <td class="udval">01h</td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="udofs">5</td>
    <td class="udfld">bConfigurationValue</td>
    <td class="udsiz">1</td>
    <td class="udval">01h</td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="udofs">6</td>
    <td class="udfld">iConfiguration</td>
    <td class="udsiz">1</td>
    <td class="udval">04h</td>
    <td class="uddes">"MSP430"</td>
    </tr>
    <tr valign="top">
    <td class="udofs">7</td>
    <td class="udfld">bmAttributes</td>
    <td class="udsiz">1</td>
    <td class="udval">C0h</td>
    <td class="uddes">Self Powered</td>
    </tr>
    <tr valign="top">
    <td class="ud"></td>
    <td class="udbmfld"><nobr>4..0: Reserved</nobr></td>
    <td class="ud"></td>
    <td class="udval"><nobr>...00000&nbsp;</nobr></td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="ud"></td>
    <td class="udbmfld"><nobr>5: Remote Wakeup</nobr></td>
    <td class="ud"></td>
    <td class="udval"><nobr>..0.....&nbsp;</nobr></td>
    <td class="uddes">No</td>
    </tr>
    <tr valign="top">
    <td class="ud"></td>
    <td class="udbmfld"><nobr>6: Self Powered</nobr></td>
    <td class="ud"></td>
    <td class="udval"><nobr>.1......&nbsp;</nobr></td>
    <td class="uddes">Yes</td>
    </tr>
    <tr valign="top">
    <td class="ud"></td>
    <td class="udbmfld"><nobr>7: Reserved (set to one)<br>(bus-powered for 1.0)</nobr></td>
    <td class="ud"></td>
    <td class="udval"><nobr>1.......&nbsp;</nobr></td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="udofs">8</td>
    <td class="udfld">bMaxPower</td>
    <td class="udsiz">1</td>
    <td class="udval">32h</td>
    <td class="uddes">100 mA</td>
    </tr>
    </table>
    <div class="uddiv2">
    <div class="uddiv1"><a name="n53294410"><b>Interface Descriptor 0/0</b>  HID, 2 Endpoints</a></div>
    <table cellspacing="0">
    <tr valign="top"><th class="ud">Offset</th><th class="ud">Field</th><th class="ud">Size</th><th class="ud">Value</th><th class="ud">Description</th></tr>
    <tr valign="top">
    <td class="udofs">0</td>
    <td class="udfld">bLength</td>
    <td class="udsiz">1</td>
    <td class="udval">09h</td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="udofs">1</td>
    <td class="udfld">bDescriptorType</td>
    <td class="udsiz">1</td>
    <td class="udval">04h</td>
    <td class="uddes">Interface</td>
    </tr>
    <tr valign="top">
    <td class="udofs">2</td>
    <td class="udfld">bInterfaceNumber</td>
    <td class="udsiz">1</td>
    <td class="udval">00h</td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="udofs">3</td>
    <td class="udfld">bAlternateSetting</td>
    <td class="udsiz">1</td>
    <td class="udval">00h</td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="udofs">4</td>
    <td class="udfld">bNumEndpoints</td>
    <td class="udsiz">1</td>
    <td class="udval">02h</td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="udofs">5</td>
    <td class="udfld">bInterfaceClass</td>
    <td class="udsiz">1</td>
    <td class="udval">03h</td>
    <td class="uddes">HID</td>
    </tr>
    <tr valign="top">
    <td class="udofs">6</td>
    <td class="udfld">bInterfaceSubClass</td>
    <td class="udsiz">1</td>
    <td class="udval">00h</td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="udofs">7</td>
    <td class="udfld">bInterfaceProtocol</td>
    <td class="udsiz">1</td>
    <td class="udval">00h</td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="udofs">8</td>
    <td class="udfld">iInterface</td>
    <td class="udsiz">1</td>
    <td class="udval">05h</td>
    <td class="uddes">"MSP430 MOUSE"</td>
    </tr>
    </table>
    <div class="uddiv2">
    <div class="uddiv1"><a name="ne3294410"><b>HID Descriptor</b> </a></div>
    <table cellspacing="0">
    <tr valign="top"><th class="ud">Offset</th><th class="ud">Field</th><th class="ud">Size</th><th class="ud">Value</th><th class="ud">Description</th></tr>
    <tr valign="top">
    <td class="udofs">0</td>
    <td class="udfld">bLength</td>
    <td class="udsiz">1</td>
    <td class="udval">09h</td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="udofs">1</td>
    <td class="udfld">bDescriptorType</td>
    <td class="udsiz">1</td>
    <td class="udval">21h</td>
    <td class="uddes">HID</td>
    </tr>
    <tr valign="top">
    <td class="udofs">2</td>
    <td class="udfld">bcdHID</td>
    <td class="udsiz">2</td>
    <td class="udval">0101h</td>
    <td class="uddes">1.01</td>
    </tr>
    <tr valign="top">
    <td class="udofs">4</td>
    <td class="udfld">bCountryCode</td>
    <td class="udsiz">1</td>
    <td class="udval">00h</td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="udofs">5</td>
    <td class="udfld">bNumDescriptors</td>
    <td class="udsiz">1</td>
    <td class="udval">01h</td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="udofs">6</td>
    <td class="udfld">bDescriptorType</td>
    <td class="udsiz">1</td>
    <td class="udval">22h</td>
    <td class="uddes">Report</td>
    </tr>
    <tr valign="top">
    <td class="udofs">7</td>
    <td class="udfld">wDescriptorLength</td>
    <td class="udsiz">2</td>
    <td class="udval">0024h</td>
    <td class="uddes">36 bytes</td>
    </tr>
    </table>
    <div class="uddiv1"><a name="n74294410"><b>Endpoint Descriptor 81</b>  1 In, Interrupt, 1 ms</a></div>
    <table cellspacing="0">
    <tr valign="top"><th class="ud">Offset</th><th class="ud">Field</th><th class="ud">Size</th><th class="ud">Value</th><th class="ud">Description</th></tr>
    <tr valign="top">
    <td class="udofs">0</td>
    <td class="udfld">bLength</td>
    <td class="udsiz">1</td>
    <td class="udval">07h</td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="udofs">1</td>
    <td class="udfld">bDescriptorType</td>
    <td class="udsiz">1</td>
    <td class="udval">05h</td>
    <td class="uddes">Endpoint</td>
    </tr>
    <tr valign="top">
    <td class="udofs">2</td>
    <td class="udfld">bEndpointAddress</td>
    <td class="udsiz">1</td>
    <td class="udval">81h</td>
    <td class="uddes">1 In</td>
    </tr>
    <tr valign="top">
    <td class="udofs">3</td>
    <td class="udfld">bmAttributes</td>
    <td class="udsiz">1</td>
    <td class="udval">03h</td>
    <td class="uddes">Interrupt</td>
    </tr>
    <tr valign="top">
    <td class="ud"></td>
    <td class="udbmfld"><nobr>1..0: Transfer Type</nobr></td>
    <td class="ud"></td>
    <td class="udval"><nobr>......11&nbsp;</nobr></td>
    <td class="uddes">Interrupt</td>
    </tr>
    <tr valign="top">
    <td class="ud"></td>
    <td class="udbmfld"><nobr>7..2: Reserved</nobr></td>
    <td class="ud"></td>
    <td class="udval"><nobr>000000..&nbsp;</nobr></td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="udofs">4</td>
    <td class="udfld">wMaxPacketSize</td>
    <td class="udsiz">2</td>
    <td class="udval">0040h</td>
    <td class="uddes">64 bytes</td>
    </tr>
    <tr valign="top">
    <td class="udofs">6</td>
    <td class="udfld">bInterval</td>
    <td class="udsiz">1</td>
    <td class="udval">01h</td>
    <td class="uddes">1 ms</td>
    </tr>
    </table>
    <div class="uddiv1"><a name="ne4294410"><b>Endpoint Descriptor 01</b>  1 Out, Interrupt, 1 ms</a></div>
    <table cellspacing="0">
    <tr valign="top"><th class="ud">Offset</th><th class="ud">Field</th><th class="ud">Size</th><th class="ud">Value</th><th class="ud">Description</th></tr>
    <tr valign="top">
    <td class="udofs">0</td>
    <td class="udfld">bLength</td>
    <td class="udsiz">1</td>
    <td class="udval">07h</td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="udofs">1</td>
    <td class="udfld">bDescriptorType</td>
    <td class="udsiz">1</td>
    <td class="udval">05h</td>
    <td class="uddes">Endpoint</td>
    </tr>
    <tr valign="top">
    <td class="udofs">2</td>
    <td class="udfld">bEndpointAddress</td>
    <td class="udsiz">1</td>
    <td class="udval">01h</td>
    <td class="uddes">1 Out</td>
    </tr>
    <tr valign="top">
    <td class="udofs">3</td>
    <td class="udfld">bmAttributes</td>
    <td class="udsiz">1</td>
    <td class="udval">03h</td>
    <td class="uddes">Interrupt</td>
    </tr>
    <tr valign="top">
    <td class="ud"></td>
    <td class="udbmfld"><nobr>1..0: Transfer Type</nobr></td>
    <td class="ud"></td>
    <td class="udval"><nobr>......11&nbsp;</nobr></td>
    <td class="uddes">Interrupt</td>
    </tr>
    <tr valign="top">
    <td class="ud"></td>
    <td class="udbmfld"><nobr>7..2: Reserved</nobr></td>
    <td class="ud"></td>
    <td class="udval"><nobr>000000..&nbsp;</nobr></td>
    <td class="ud"></td>
    </tr>
    <tr valign="top">
    <td class="udofs">4</td>
    <td class="udfld">wMaxPacketSize</td>
    <td class="udsiz">2</td>
    <td class="udval">0040h</td>
    <td class="uddes">64 bytes</td>
    </tr>
    <tr valign="top">
    <td class="udofs">6</td>
    <td class="udfld">bInterval</td>
    <td class="udsiz">1</td>
    <td class="udval">01h</td>
    <td class="uddes">1 ms</td>
    </tr>
    </table>
    </div>
    </div>
    <div class="hrddiv1"><a name="n46284410"><b>Interface 0 HID Report Descriptor</b> Vendor-Defined 1</a></div>
    <table cellspacing="0">
    <tr>
    <th class="hrd">Item Tag (Value)</th>
    <th class="hrd">Raw Data</th>
    </tr>
    <tr>
    <td class="hrdn">Usage Page (Vendor-Defined 1)</td>
    <td class="hrdm">06&nbsp;00&nbsp;FF&nbsp;</td>
    </tr>
    <tr>
    <td class="hrdn">Usage (Vendor-Defined 1)</td>
    <td class="hrdm">09&nbsp;01&nbsp;</td>
    </tr>
    <tr>
    <td class="hrdn">Collection (Application)</td>
    <td class="hrdm">A1&nbsp;01&nbsp;</td>
    </tr>
    <tr>
    <td class="hrdn">&nbsp;&nbsp;&nbsp;&nbsp;Report ID (63)</td>
    <td class="hrdm">85&nbsp;3F&nbsp;</td>
    </tr>
    <tr>
    <td class="hrdn">&nbsp;&nbsp;&nbsp;&nbsp;Report Count (63)</td>
    <td class="hrdm">95&nbsp;3F&nbsp;</td>
    </tr>
    <tr>
    <td class="hrdn">&nbsp;&nbsp;&nbsp;&nbsp;Report Size (8)</td>
    <td class="hrdm">75&nbsp;08&nbsp;</td>
    </tr>
    <tr>
    <td class="hrdn">&nbsp;&nbsp;&nbsp;&nbsp;Logical Maximum (1)</td>
    <td class="hrdm">25&nbsp;01&nbsp;</td>
    </tr>
    <tr>
    <td class="hrdn">&nbsp;&nbsp;&nbsp;&nbsp;Logical Minimum (1)</td>
    <td class="hrdm">15&nbsp;01&nbsp;</td>
    </tr>
    <tr>
    <td class="hrdn">&nbsp;&nbsp;&nbsp;&nbsp;Usage (Vendor-Defined 1)</td>
    <td class="hrdm">09&nbsp;01&nbsp;</td>
    </tr>
    <tr>
    <td class="hrdn">&nbsp;&nbsp;&nbsp;&nbsp;<b>Input</b> (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)</td>
    <td class="hrdm">81&nbsp;02&nbsp;</td>
    </tr>
    <tr>
    <td class="hrdn">&nbsp;&nbsp;&nbsp;&nbsp;Report ID (63)</td>
    <td class="hrdm">85&nbsp;3F&nbsp;</td>
    </tr>
    <tr>
    <td class="hrdn">&nbsp;&nbsp;&nbsp;&nbsp;Report Count (63)</td>
    <td class="hrdm">95&nbsp;3F&nbsp;</td>
    </tr>
    <tr>
    <td class="hrdn">&nbsp;&nbsp;&nbsp;&nbsp;Report Size (8)</td>
    <td class="hrdm">75&nbsp;08&nbsp;</td>
    </tr>
    <tr>
    <td class="hrdn">&nbsp;&nbsp;&nbsp;&nbsp;Logical Maximum (1)</td>
    <td class="hrdm">25&nbsp;01&nbsp;</td>
    </tr>
    <tr>
    <td class="hrdn">&nbsp;&nbsp;&nbsp;&nbsp;Logical Minimum (1)</td>
    <td class="hrdm">15&nbsp;01&nbsp;</td>
    </tr>
    <tr>
    <td class="hrdn">&nbsp;&nbsp;&nbsp;&nbsp;Usage (Vendor-Defined 1)</td>
    <td class="hrdm">09&nbsp;01&nbsp;</td>
    </tr>
    <tr>
    <td class="hrdn">&nbsp;&nbsp;&nbsp;&nbsp;<b>Output</b> (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit)</td>
    <td class="hrdm">91&nbsp;02&nbsp;</td>
    </tr>
    <tr>
    <td class="hrdn">End Collection</td>
    <td class="hrdm">C0&nbsp;</td>
    </tr>
    </table>
    <p align="center" style="padding:0;color:#ccc;font-family:Arial,Verdana,Helvetica,sans-serif;font-size:8pt;">This report was generated by <a style="color:#ccc;text-decoration:none;" href="http://www.usblyzer.com/">USBlyzer</a></p>
    </body>
    </html>
    

  • Windows might be configured with an incomplete set of drivers during the time you have been testing with hardware problems. Maybe try unstalling the drivers associated PID and VID. The easiest way to unstall the drivers is to plug in the board, open the Device Manager, right click on the device and uninstall. There should be two devices
      Mice and other pointing devices/HID-compliant device
      Human Interface Devices/USB Human Interface Device

    Unplug and replug to reinstall the drivers. Take care not uninstall your real mouse.

  • Gabriel,

    In the first post, you said,

    > The PC recognizes the HID device correctly, but the mouse does not move on the screen

    And the report descriptor on above post isn't a mouse one, but a vendor-specific.
    You've modified the report descriptor on the original example.
    Of course, this vendor-specific HID doesn't move your mouse cursor ;-)

    Tsuneo

  • I am very grateful to Tsuneo and others for help.
    My goal was to transform the example of a keyboard mouse, but inadvertently gave me the link Tsuneo my goal, I'll leave it on pause because I need to move on the keyboard.

    I am very grateful to all

**Attention** This is a public forum