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.

Tiva TM4C129 USB Bulk transfer - Need to send > 1 packet per frame (Full speed)

I need to send data through USB bulk mode at a rate faster than 64 bytes/ 1 ms frame and have been having some trouble figuring out how to get it to work!  I have read some other questions on e2e but I have not yet found a good solution using Tivaware. 

Here is what I currently have:

  • Tivaware 2.1.2.111 and TI's usblib
  • TM4C1290 with no external USB phy
usbWrite() {
    tUSBRingBufObject tx_ring;

    // Get the current buffer information to allow us to write directly to
    // the transmit buffer.
    USBBufferInfoGet(&g_tx_buffer, &tx_ring);

    // How much space is there in the transmit buffer?
    ui32_space = USBBufferSpaceAvailable(&g_tx_buffer);

    if (ui32_space < BULK_PACKET_SIZE)
    {
        return 0;
    }

    // Set up to process the characters by directly accessing the USB buffers.
    ui32_write_index = tx_ring.ui32WriteIndex;

// fill usb buffer.....

USBBufferDataWritten(&g_tx_buffer, ui32_count); }

 

No matter how many bytes I fill the buffer it only sends a single packet per transmission.

Also requesting 64 bytes or 128 bytes (or more) from the USB host side has no effect on how fast the data is transmitted from the device.

Thanks!