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.

Pressing key causes disconnection on CC2650LP

Other Parts Discussed in Thread: CC2650

I am using a modified multi role example on CC2650LP. I define the left button for scanning and right button for adv on/off. It works fine when CC2650LP is connecting to a  SensorTag and I can turn on scan or turn on/off adv freely. However, when connecting to more than two SensorTags, CC2650 lost connection of all the SensorTags after I pressed either of the key.

I have tried the following things but no results.

  • There is no connection terminated event on CC2650.
  • I try to leave a clean ISR and increase heap size but the problem still exists.

Any suggestion is helpful.

  • Hi,

    What's your connection parameters?
  • Sorry for late reply. Here are my parameters. In fact, I use the default parameter in Multi Role.

      // Setup the GAP
      {
        /*-------------------PERIPHERAL-------------------*/
        uint16_t advInt = DEFAULT_ADVERTISING_INTERVAL;//DEFAULT_ADVERTISING_INTERVAL = 160
        GAP_SetParamValue(TGAP_CONN_PAUSE_PERIPHERAL, DEFAULT_CONN_PAUSE_PERIPHERAL);//TGAP_CONN_PAUSE_PERIPHERAL = 31,DEFAULT_CONN_PAUSE_PERIPHERAL = 6
        GAP_SetParamValue(TGAP_LIM_DISC_ADV_INT_MIN, advInt);//TGAP_LIM_DISC_ADV_INT_MIN = 6
        GAP_SetParamValue(TGAP_LIM_DISC_ADV_INT_MAX, advInt);//TGAP_LIM_DISC_ADV_INT_MAX = 7
        GAP_SetParamValue(TGAP_GEN_DISC_ADV_INT_MIN, advInt);//TGAP_GEN_DISC_ADV_INT_MIN = 8
        GAP_SetParamValue(TGAP_GEN_DISC_ADV_INT_MAX, advInt);//TGAP_GEN_DISC_ADV_INT_MAX = 9
        /*-------------------CENTRAL-------------------*/
        GAP_SetParamValue(TGAP_GEN_DISC_SCAN, DEFAULT_SCAN_DURATION);//TGAP_GEN_DISC_SCAN = 2, DEFAULT_SCAN_DURATION = 4000
        GAP_SetParamValue(TGAP_CONN_SCAN_INT, DEFAULT_SCAN_INT);//TGAP_CONN_SCAN_INT = 12, DEFAULT_SCAN_INT = 80
        GAP_SetParamValue(TGAP_CONN_SCAN_WIND, DEFAULT_SCAN_WIND);//TGAP_CONN_SCAN_WIND = 13, DEFAULT_SCAN_WIND = 80
        GAP_SetParamValue(TGAP_CONN_HIGH_SCAN_INT, DEFAULT_SCAN_INT);//TGAP_CONN_HIGH_SCAN_INT = 14
        GAP_SetParamValue(TGAP_CONN_HIGH_SCAN_WIND, DEFAULT_SCAN_WIND);//TGAP_CONN_HIGH_SCAN_WIND = 15
        GAP_SetParamValue(TGAP_GEN_DISC_SCAN_INT, DEFAULT_SCAN_INT);//TGAP_GEN_DISC_SCAN_INT = 16, DEFAULT_SCAN_INT
        GAP_SetParamValue(TGAP_GEN_DISC_SCAN_WIND, DEFAULT_SCAN_WIND);//TGAP_GEN_DISC_SCAN_WIND = 17, DEFAULT_SCAN_WIND
        GAP_SetParamValue(TGAP_LIM_DISC_SCAN_INT, DEFAULT_SCAN_INT);//TGAP_LIM_DISC_SCAN_INT = 18, DEFAULT_SCAN_INT
        GAP_SetParamValue(TGAP_LIM_DISC_SCAN_WIND, DEFAULT_SCAN_WIND);//TGAP_LIM_DISC_SCAN_WIND = 19, DEFAULT_SCAN_WIND
        GAP_SetParamValue(TGAP_CONN_EST_SCAN_INT, DEFAULT_SCAN_INT);//TGAP_CONN_EST_SCAN_INT = 23, DEFAULT_SCAN_INT
        GAP_SetParamValue(TGAP_CONN_EST_SCAN_WIND, DEFAULT_SCAN_WIND);//TGAP_CONN_EST_SCAN_WIND = 24, DEFAULT_SCAN_WIND
        GAP_SetParamValue(TGAP_CONN_EST_INT_MIN, DEFAULT_CONN_INT);//TGAP_CONN_EST_INT_MIN = 21, DEFAULT_CONN_INT = 42
        GAP_SetParamValue(TGAP_CONN_EST_INT_MAX, DEFAULT_CONN_INT);//TGAP_CONN_EST_INT_MAX = 22
        GAP_SetParamValue(TGAP_CONN_EST_SUPERV_TIMEOUT, DEFAULT_CONN_TIMEOUT);//TGAP_CONN_EST_SUPERV_TIMEOUT = 25, DEFAULT_CONN_TIMEOUT = 200
        GAP_SetParamValue(TGAP_CONN_EST_LATENCY, DEFAULT_CONN_LATENCY);//TGAP_CONN_EST_LATENCY = 26, DEFAULT_CONN_LATENCY = 0
      }