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.

MSP430F5510: "Descriptor of USB HID class" and "USB HID Vendor define device"

Genius 5745 points
Part Number: MSP430F5510
Other Parts Discussed in Thread: MSP430USBDEVPACK

Hi experts,

My customer has built a prototype board using MSP430F5510 and is starting to develop software. Please let me confirm about USB HID class of MSP430.

Q1:Is it possible to change the following contents about Descriptor of USB HID class?

  • Product ID
  • Vendor ID
  • Serial Number

For example, in H8_Keyboard of MSP430USBDEVPACK, Product ID and Vendor ID are defined in "descriptors.h", so I think it is possible to change them. In "usb.c", I think the serial number of each device is determined by software from "TLV_TAG_DIERECORD". I believe it can be changed by setting this to a fixed value. The customer is considering reading the Product ID and Serial Number stored in the external EEPROM and reflecting them in the USB Descriptor, so please let me know if this is feasible.

Q2: Does the F5510 support applications that combine "HID Keybord device" and "HID Vendor define device"?

We have a sample code for "HID Keybord device", so we believe it can be supported. However, I couldn't find any information about "USB HID Vendor define device". "USB HID Vendor define device" means that "Page ID" in "USB HID Descriptor" is "Vendor-defined(FF00-FFFF)". Reference material: HID Usages and Descriptions: usb.org/.../hut1_22.pdf

It would be helpful if you could tell us whether or not "HID Vendor define device" is supported.

Best regards,
O.H

  • Hello,

    A1: Yes, it is possible to change the Vendor ID (VID) and Product ID (PID). Please refer to Section 5.2 in the Starting a USB Design Using MSP430 MCUs app note and also the USB API Programmer's Guide in the USB Developers Package, for more information. I think creating a serial number manually is possible. The die record in the TLV is a way to randomize the serial number across identical devices.

    A2: You may need to create a composite HID device. Also, in the 'descriptors.c' fle, the report_desc_HID0[] array seems to define the device. The values for "Usage Page" and "Usage" are different between the mouse and keyboard examples. Perhaps this is what you're referring to and may need to be changed.

  • Hello,

    A1: Yes, it is possible to change the Vendor ID (VID) and Product ID (PID). Please refer to Section 5.2 in the Starting a USB Design Using MSP430 MCUs app note and also the USB API Programmer's Guide in the USB Developers Package, for more information. I think creating a serial number manually is possible. The die record in the TLV is a way to randomize the serial number across identical devices.

    A2: You may need to create a composite HID device. Also, in the 'descriptors.c' fle, the report_desc_HID0[] array seems to define the device. The values for "Usage Page" and "Usage" are different between the mouse and keyboard examples. Perhaps this is what you're referring to and may need to be changed.

    Thanks for the reply. I understood. I will refer to the above document and information together.

    Please let me check one more point.

    Q3: If they want to change iProduct (a string that identifies the name of the product), they can do so by changing the abromStringDescriptor[] array in descriptors.c. Is this correct?

    I have checked "descriptors.c" again as you suggested. The customer wanted to change the iProduct as well, but we understood that the user can determine the desired contents by changing the contents of descriptors.c and descriptors.h, including the contents of other descriptors. Just to be sure, it would be helpful if you could let me check.

    Best regards,
    O.H

  • Q3: If they want to change iProduct (a string that identifies the name of the product), they can do so by changing the abromStringDescriptor[] array in descriptors.c. Is this correct?

    That's correct.

    Where's the USB product identification string?

  • Hello,

    Thank you for your answer. I understand the answer to the question in the title.

    I have received a question about another content, but since it is a bit far from the content of the title, I will create a thread from the related question.

    Best regards,
    O.H

**Attention** This is a public forum