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.

Using Tiva C as a usb device in NI LabVIEW

I want to communicate NI LabVIEW with Tiva C as a usb device. I tried usb_bulk_example. I installed windows drivers but I could not see my device in LabVIEW. I can see in device manager. How can I communicate with labVIEW as a usb device? 

I need drivers NI LabVIEW for Tiva C as a usb device.

I am using windows7 ans LabVIEW 2014

Connecting Instruments via USB  labVIEW tutorial. 

  • Hello Mesut,

    Not with USB but with UART. See the following post(s)

    e2e.ti.com/.../454564

    e2e.ti.com/.../1236917

    Use of USB exclusively, required a device class library to be created under TivaWare as per NI specifications, which is currently unavailable.

    Regards
    Amit
  • I can communicate Labview via UART but it is not enough speed in my application. I have to send 3MB data in a second. I choose USB but I did not communicate.
  • Hello Mesut,

    In that case drivers need to be written for NI lab view.

    Regards
    Amit
  • I need USB RAW device driver. Could TI write a driver for TivaWare?
  • Hello Mesut,

    There are no plans for TI to develop such a driver for TivaWare.
  • Mesut KILIC said:
    I need USB RAW device driver.



    You don't need any specific PC driver for LabView USB RAW device.
    USB RAW stands on built-in WinUSB driver.
    Just provide this interface GUID by MS OS descriptor, or by WinUSB INF file.
    {761ED34A-CCFA-416b-94BB-33486DB1F5D5}

    Searching for this interface GUID, LabView (NI VISA) driver should capture your device as USB RAW


    1) Using WinUSB device
    In this post, I explained about how to convert TivaWare usb_dev_bulk into WinUSB device.

    "WinUSB Device" implementation for Tivaware
    https://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/p/481401/1734782

    In the attached zip file on above post, add this line to usbdMSdesc.c

    #define USB_NI_LABVIEW_USB_RAW_IF_GUID    L"{761ED34A-CCFA-416b-94BB-33486DB1F5D5}"
    

    Also, replace USB_TI_USB_DEV_BULK_IF_GUID to USB_NI_LABVIEW_USB_RAW_IF_GUID in this line

    static tMS_EXTENDED_PROPERTY_DESCRIPTOR g_USBExtendedPropIfGUIDDesc =
    {
        .header    = MS_EXTENDED_PROPERTY_HEADER( sizeof( tMS_EXTENDED_PROPERTY_DESCRIPTOR ), 0x0001 ),
    //  .property0 = MS_EXTENDED_PROPERTY_INTERFACE_GUID( USB_TI_USB_DEV_BULK_IF_GUID )
        .property0 = MS_EXTENDED_PROPERTY_INTERFACE_GUID( USB_NI_LABVIEW_USB_RAW_IF_GUID )
    };

    And then, follow the instruction on above post, to make up the firmware.


    2) Using INF file
    Modify usb_dev_bulk.inf (under \TivaWare_C_Series-2.1.2.111\windows_drivers\) at this line

    [Dev_AddReg]
    ;; HKR,,DeviceInterfaceGUIDs,0x10000,"{6E45736A-2B1B-4078-B772-B3AF2B6FDE1C}"
    HKR,,DeviceInterfaceGUIDs,0x10000,"{761ED34A-CCFA-416b-94BB-33486DB1F5D5}"
    


    Tsuneo

    [ Edit ] The interface GUID value was wrong at the first post,

    right one for USB RAW is, {761ED34A-CCFA-416b-94BB-33486DB1F5D5}

    {A5DCBF10-6530-11D2-901F-00C04FB951ED}  is for NI USBTMC

  • Hello Tsuneo

    But specific commands need to be still written for the usb_dev_bulk for LabView to communicate with the TM4C device?

    Regards
    Amit
  • Once the usb_dev_bulk board would be captured by LabVIEW (NI VISA) driver by above modification, the bulk IN/OUT endpoints on the board are directly read/written using VISA READ/WRITE function on LabVIEW application. In this way, "raw" packets are exchanged over these bulk endpoints.

    Start on "USB RAW - Bulk VI" LabVIEW example under this folder
    \labview\examples\Instrument IO\VISA\USB\

    Tsuneo

  • Hello Tsuneo

    OK, let me create a rig for the same. Sounds interesting.

    Regards
    Amit