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.

EK-TM4C1294XL: DLPLCR6500EVM

Part Number: EK-TM4C1294XL

Hello,

I'was in contact with Adrian regarding DLP6500 control via Tiva usb library. I'd like to specify the problem.

DLP team said DLP6500 support standard HID interface.

Tiva usb library has keyboard, mouse and mass storage devices examples.

So my question is how to configure the "TivaWare™ USB Library" to work with "standard HID interface" device?

Do you have any examples?

Thank you,

Maxim

  • Hello Maxim,

    We don't have a generic HID device example, but it should be easy for you to be able to get the device to correctly enumerate, and from there you can build your custom application.

    You may want to start from the gamepad example from the DK-TM4C129X because it is a little less overbearing in complexity than the keyboard example. Also mass storage devices are a different class, so don't start there.

    For something like the Gamepad, the main changes you need to make for enumeration is to replace the Gamepad specific HID Init with the generic version: USBDHIDInit and to adjust the descriptors to fit your HID device which is done in usb_gamepad_structs.c.

    Once properly enumerated, the rest becomes application specific as you will have to write a USB application handler along the lines of the GamepadHandler. How that needs to be defined, what states you need, etc. all are dependent on how the DLP6500 operates. I would imagine the DLP team already has provided a lot of that so hopefully it will be straightforward to integrate.
  • Hello Ralph,

    Unfortunately DLP6500 support USB 1.1 slave interface protocol, so I have to implement Host side on the Tiva microcontroller.

    Do you have an examples for the host side? I'd like to know how to configure the Tiva USB host library in order to communication with the DLP HID device.

    Thank you,

    Maxim

  • Hello Maxim,

    We have examples for host HID in TivaWare too, for Keyboard and Mouse. The process would be the same as I described for a HID device.
  • Hello Ralph,

    That is exactly what I trying to do.

    With help of “TivaWare™ USB Library” software and one of the evaluation board example – usb-host-keyboard

    I’ve succeeded to connect with and disconnect from DLP device, but when I sent a data I did not get a response.

    I have a working linux code where I open usb connection next way: 

    #define TI_VENDOR_ID 0x0451
    #define TI_DLPC_DID 0xc900

    handle = hid_open(TI_VENDOR_ID,TI_DLPC_DID, NULL);

    Do I need to build usb descriptor with vendor ID and device ID with Tiva USB library as well?

    Do I have to use USB_EVENT_RX_AVAILABLE event to receive data from DLP?

    Thank you,

    Maxim

  • Hello Maxim,

    If you are a USB host, you don't need a VID or PID. Those are for the USB device to tell the host identifying information. For example, a PC would use the VID/PID to check for any associated USB drivers.

    I am not familiar with the Linux code you are posting, but in general the DLP6500 EVM should have it's own VID/PID that it will send as part of enumeration.

    As far as receiving data goes, that event should work fine for understanding when you have received data.
  • Hi Ralph,

    DLP6500 support USB 1.1 slave interface protocol only.

    Does Tiva USB Library support USB 1.1 standard on the host side as well?

    Have I to configure the protocol type? 

     

    Thank you,

    Maxim

  • Hello Maxim,

    If by USB 1.1 it is supporting the USB "Full-Speed"mode of 12Mbps then that is no problem, that is the default setup with our EVM's as USB "High-Speed" for USB 2.0 requires an external USB PHY, so all our example code is for "Full-Speed" mode.

    However if the EVM uses "Low Speed" mode, that is an issue as our TivaWare USBLib does not support Low Speed mode.