CC2642R: Data transmission issues of CC2642

Part Number: CC2642R

Tool/software:

Hi:

I have been using your company's CC2642. Currently, I have encountered a problem and would like to consult you.

sdk ver:simplelink_cc13xx_cc26xx_sdk_7_41_00_17

problem:

When multiple iphones are connected and one of them is disconnected, the data transmission of the undisconnected channel occasionally reports an error of 0x16. After trying again, the error still occurs. Eventually, I can only reset or disconnect the device.

From my log, there is already a disconnection callback for channel index 1. The disconnection error code is 0x13, indicating a remote disconnection. The data sent later is from channel index 0, and the sending failed .

Before the disconnection of the index 1 device, the data transmission through both channels was normal .

Could you help analyze what the problem is? Is there any way to restore the normal transmission of data without resetting or disconnecting the device with index 0 .

Problems tend to occur when connecting an iPhone.

thanks!

  • Hi,

    I cannot do anything with your custom logs since I don't have the code associated with it nor the functions that return those error code. You need to make your log messages more explicit, as I cannot understand what part of the code does "ble send_index:0 ret:16" refer to. The return code 0x13 for an intentional disconnection seem normal.

    Can you please answer these :
    - What function is returning 0x16 exactly ? 
    - "Channels index" is not a term that I understand in this context. Connections are managed through connection handles, so I don't understand your message.
    - What is sending the "all handle:0" log at the top ?

    Kind regards,
    Maxence

  • Hi,

    Let me add to your confusion:

    1、What function is returning 0x16 exactly ? 

    SimpleProfile_SetParameter----->GATTServApp_ProcessCharCfg----->GATT_Notification,The last function called is GATT_Notification

    2、"Channels index",It's actually another way to store a handle. You can think of it as the same as a handle.

    3、What is sending the "all handle:0" log at the top ?

    Here, what is printed is the handle of the connection. For each connection handle, printing here indicates that only the first connection is still valid, while the others are all 0xff and invalid. My project supports a maximum of four connections.

    4、Perhaps you still have doubts about the above information. Currently, when I encounter this issue, if I disconnect the other phone and then reconnect the two phones, they can still communicate normally. You can suggest the direction for troubleshooting, and I'll give it a try 

  • Hi,

    The GATT_Notification function cannot return neither 0x16 or 16 as a return value. My best troubleshooting advice would be to figure out what error code do you face and in specifically which function, to find the cause of your error.

    Kind regards,
    Maxence