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.

CDC Driver Buffer size too small

Other Parts Discussed in Thread: MSP430F6638

Hi,

I am facing this problem where VCP driver buffer sizes are too small.

How can I increase these sizes? please see the attached screen shot, I am assuming it is 14 Bytes and 16 Bytes. how can I increase these?

I have to send data that is at least 300 Bytes.

Atif

  • just to add additional information, I am using USB CDC LED ON/OFF example. with already built in driver (inf). I am using MSP430F6638, with MSP-TS430PZ100USB.
  • CDC (on MSP430) will transfer continuous full 64 bytes packets. This setup parameters are not related to CDC.

  • Thanks for the answer. I still have this issue. But a bit more confidence that there is something I am not paying attention to. I have many different size messages that I am sending over to the Micro. Majority of them are up to 20 bytes and have no problem sending those. however as soon as I try to send this one command that is over 264 bytes, LabVIEW gives an error complaining about Framing error (-1073807360).
    I can try to figure out what is the threshold to kind of know how far can I go before I will get this error. it might help to understand more.
    in the mean time I wanted to get some insight from experts.
  • it seems like the following highlighted function returns only 128 bytes, and does not report any more data available at the port.

    I am sure that I have sent 264 bytes. Since the target does not get ready to receive again, labVIEW ends up with an error.

     

  • Please help, I have a deadline to meet tomorrow 3/14/2016 COB.

    Idea is to send a command (Byte Array ~300 bytes) from host PC via CDC (VCP). First two bytes are the length of the remaining array. So I need to receive the first two bytes find out how many more bytes to receive and then act on that command (Byte Array). Get ready to receive the next command.

    Ideally host PC have to send all those bytes in array all at once including the first two length bytes.

    I understand end point buffer size (128 bytes) is limiting my ability to do this task, unless I am missing something.

    I am working with LED ON/OFF example. using MSP430F6638.

    Again any help or clue will be much appreciated.

  • The CDC endpoint uses two 64-byte buffers. If you want to handle larger amounts of data, you have to read out the data in smaller portions in a loop.

    The function USBCDC_receiveData() already does this for you.
  • Yep, Thanks that fixes it.

**Attention** This is a public forum