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.

CC2531EMK: CC2531EMK USB max bytes to receive

Part Number: CC2531EMK
Other Parts Discussed in Thread: CC2531,

Dear all,

I am using the CC2531EMK (USB dongle) and rfusb_cc2531 example (from swrc088.zip examples code). I want to send 128 bytes from the PC to the usb dongle. By default the max length bytes are 64 bytes (USB 2.0) and if I send more than the 64 bytes from the PC, for example 76 bytes, I receive two frames with 64 + 12 bytes. I writting a protocol communication from PC to USB to RF and I want to send more than 64 bytes, that is 76 bytes. In the reference manual, at page 182, is specified that endpoints supports from 8 - 512 bytes, even with a FIFO up to 1024 bytes.

Since I am not an expert of USB, is there some way to increase to send more than 64 bytes (76 or 128 or more) in a single frame? I have tried to modify the file "usb_hid_descriptor.s51" but it doesn't work.

Please, is there a configuration or example code to achieve this?

Thanks.

Joaquim.

RM:

https://www.ti.com/lit/ug/swru191f/swru191f.pdf?ts=1703867364224&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FCC2533%253Futm_source%253Dgoogle%2526utm_medium%253Dcpc%2526utm_campaign%253Depd-null-null-GPN_EN-cpc-pf-google-wwe%2526utm_content%253DCC2533%2526ds_k%253D%257B_dssearchterm%257D%2526DCM%253Dyes%2526gad_source%253D1%2526gclid%253DCjwKCAiA-bmsBhAGEiwAoaQNmjFNZySt7iJNghTjLpPAXRzH1dLomzxMKUHfGiR94J4U_Lj1dyHfghoCfKAQAvD_BwE%2526gclsrc%253Daw.ds

  • Hello Joaquim,

    Thanks you for asking your question concerning TI's SimpleLink Devices on the E2E Forum! The subject expert who can best address your inquiry is out of office for the holidays. After returning in early January, they will review your post and provide an initial response within 24 hours.

    To ensure quick and efficient resolution of your problem, please make sure you have provided all relevant information related to your request. This may include: SimpleLink SDK version and its dependencies, hardware used, examples being referenced, and steps to reproduce the issue. Please also provide any debug information, screenshots, code snippets, or terminal logs which may help further identify the issue.

    Regards,
    Jan

  • Hi Jan,

    Thanks for your answer: I'll wait for the expert. 

    Joaquim.

  • Hi Joaquim,

    There are unfortunately no experts remaining for this legacy device and solution, however I do have some suggestions.  Can you please try to increase the USB_MAX_PACKET_SIZE from usb_uart.h and wMaxPacketSize from usb_cdc_descriptor.s51?

    Regards,
    Ryan

  • Hi Ryan,

    Ok. I'll try. What is the max length I can configure?

    Thanks.

    Joaquim

  • Hi,

    What is/are exactly the wMaxPacketSize which I must change? There are 3.

    Thanks.

    endpoint0Desc: ; Endpoint descriptor (EP2 IN)
    DB endpoint0DescEnd - endpoint0Desc
    DB DESC_TYPE_ENDPOINT ; bDescriptorType
    DB 82H ; bEndpointAddress
    DB EP_ATTR_INT ; bmAttributes
    DB 40H, 00H ; wMaxPacketSize
    DB 40H ; bInterval
    endpoint0DescEnd:

    endpoint1Desc: ; Endpoint descriptor (EP4 OUT)
    DB endpoint1DescEnd - endpoint1Desc
    DB DESC_TYPE_ENDPOINT ; bDescriptorType
    DB 84H ; bEndpointAddress
    DB EP_ATTR_BULK ; bmAttributes
    DB 40H, 00H ; wMaxPacketSize
    DB 01H ; bInterval
    endpoint1DescEnd:

    endpoint2Desc: ; Endpoint descriptor (EP4 IN)
    DB endpoint2DescEnd - endpoint2Desc
    DB DESC_TYPE_ENDPOINT ; bDescriptorType
    DB 04H ; bEndpointAddress
    DB EP_ATTR_BULK ; bmAttributes
    DB 40H, 00H ; wMaxPacketSize
    DB 01H ; bInterval

  • Since I don't have experience with this software package or the example referenced, I can only recommend that you try increasing the value by 50 or 100 percent (60H or 80H) for each and determine whether that resolves your existing issue. If this is successful then you can also attempt to isolate the critical endpoint by evaluating the behavior after changing each individually.

    Regards,
    Ryan

  • Hi Ryan,

    I did some test, but it doesn't work. So I assume it can't be changed.

    Thanks for your help.

    Joaquim.