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.

LAUNCHXL-CC2650: UART cannot receive more than 256 bytes in SPP BLE SERVER example

Part Number: LAUNCHXL-CC2650
Other Parts Discussed in Thread: CC2640

I m using SPP BLE SERVER example. I need to receive data from another board and send it over BLE as multiple notifications. I m successful in receiving data upto size of 256 from UART. But as the size goes beyond 256, i receive only 256 characters. I have following #defines

//! \brief Max bytes received from UART send to App
#define MAX_UART_LENGTH 512

// UART ISR Buffer define
#define UART_ISR_BUF_SIZE 512 //128
#define UART_ISR_BUF_CNT 4 //2

#define SDI_TL_BUF_SIZE         300

I am using SDIRxBuf_ReadFromRxBuf(buf, length) API to receive data from UART. length and buf is declared as uint16 length and   buf[SDI_TL_BUF_SIZE] ={0x00,}; 

Stack used is v.2.2.1 and compiler is 5.2.6. also CCS v7 is the IDE.

Is there any other parameters that i should look on to avoid the issue??

  • Hi,

    I believe this is a hardware limitation. Refer to here:
    e2e.ti.com/.../491539

    Best wishes
  • Hi,

    I am able to transmit data of size greater than 256. But the issue is I can't receive data greater than 256 bytes. 

    /*! Size of the TX and RX FIFOs is 32 items */
    #define UARTCC26XX_FIFO_SIZE 32

    As per this, TX FIFO is also 32 bytes size. But I can transmit more than 256 bytes. 

    Please correct me if I am wrong.

  • Hi Zahid Haq,

    I'm working with "spp_ble_client" example(TI_RTOS 2.20.1.08; BLE Stack 2.02.01.18) on my custom board using CC2640. When I try to transmit an array data of size greater than 255 using SDITask_sendToUART(...), MCU is seem to be hang and unable to transmit that array.

    I found a #define in sdi_config.h:

    #define SDI_TL_BUF_SIZE         270

    I did try to change it with some other number, for example: 300, 200, 100, but It seems that It is not affect to the max data that I am able to transmit over UART(Max is still 255 with any SDI_TL_BUF_SIZE define).

    I need to transmit greater than 255 byte. So can you give me some advice how to resolve this problem?!