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.

CC2340R5-Q1: connection monitor unplanned interruptions

Part Number: CC2340R5-Q1
Other Parts Discussed in Thread: CC2340R5

Hi

I am using the cc2340 to monitor the bluetooth connection of the cc2652 to my cell phone, but it stops reporting RSSI about 1-2 seconds after it starts monitoring. After checking the logs, I see that it is not generating CM_CONN_EVT_COMPLETE_EVT anymore.

Also, I added the log about the received connection parameters. log is as follows:

00 00 CB C8 C7 26 04 50 00 07 FA 00 07 FF FF FF FF 1F 67 F2 39 00 52 0C 7B B6 08 4F
C8 C9 C2 C6 C8 C9 C2 C5 C5 C8 C8 C1 C5 C8 C8 C8 C3 C6 C7 C8 C1 C5 C6
00 00 CB C8 C7 26 04 0C 00 07 FA 00 19 FF FF FF FF 1F 67 F2 39 00 52 0C 7B B6 08 4F
00 00 CB C8 C7 26 04 18 00 07 FA 00 15 FF FF FF FF 1F 67 F2 39 00 52 0C 7B B6 08 4F
00 00 CB C8 C7 26 04 18 00 07 FA 00 1B 00 17 F8 C3 1D 67 F2 39 00 52 0C 7B B6 08 4F
00 00 CB C8 C7 26 04 18 00 07 FA 00 0F 00 94 F8 01 10 67 F2 39 00 52 0C 7B B6 08 4F
00 00 CB C8 C7 26 04 18 00 07 FA 00 1E 00 B7 C0 01 10 67 F2 39 00 52 0C 7B B6 08 4F
00 00 CB C8 C7 26 04 18 00 07 FA 00 13 83 A7 04 00 10 67 F2 39 00 52 0C 7B B6 08 4F

The second line is the RSSI output from the connection monitor, which was only scanned for 1-2s.The rest are the connection parameters each time they are received, output in the order of the bleConnInfo_t structure.

I also checked the sessionId in the MicroCmApp_cmStartReq() api, and the sessionId is 1 when receiving the second and third connection parameters, but the sessionId is 0 when receiving the later parameters.

Please help me troubleshoot. Is there any other information needed?

The SDK used for CC2340 is simplelink_lowpower_f3_sdk_7_40_00_64 and the project is connection_monitor_LP_EM_CC2340R5_freertos_ticlang.

The SDK used for CC2652 is simplelink_cc13xx_cc26xx_sdk_7_40_00_77 and the project is rtls_coordinator_CC26X2R1_LAUNCHXL_tirtos7_ticlang.

Best Regards,

Preston

  • Greetings Preston,

    There could be a number of reasons why this could be happening. The connection monitor starts "a new session" every time there is a change in the connection parameters. This might explain why the session ID changes. Is your CC2340 getting the correct parameter updates from CC2652? Can you check if the channel selection algorithm #2 has been disabled on the CC2652? Furthermore, is your CC2340 using the correct channel map? You can look at the channel map being used between your phone and the CC2652, and make sure that the same one is being used by the CC2340 to monitor the connection. Can you also check on the CC2340, if the code enters the monitor_completeCB() or the monitor_indicationCB()?

    Best,
    Achyut Ray

  • Hi, Ray

    I followed a few of the problem points you mentioned and confirmed them. First of all, the cc2340 has been given the correct connection parameters, which are the same as those sent by the 2652 (including parameters such as channel and channel map). Also, how can I check if the channel selection algorithm is disabled? cc2340 receives the currChan parameter which is always changing.

    Also, why am I getting this sessionid as 0 (sessionid is 1 before updating parameters). The connection parameter confirms that it is being received normally. As I understand it, the connection parameter is updated to get the new sessionid (switching inside 1-8) and then the session is re-opened. But the current situation is that after updating the parameters, the code doesn't enter monitor_completeCB() or monitor_indicationCB().

    Best Regards,

    Preston

  • Hi, Ray

    Is there any way I can check if my connection parameters are correct? Is this possible? I don't mean the transmission process.

    Best Regards,

    Preston