This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

central multilink example not building

Hi, All

I am trying the example here ...ncs\v1.9.1\zephyr\samples\bluetooth\central_multilink\ with nRF52833dk_nrf52833 board, however it doesn't build, and saying the  maximum conn number is outside of the valid range of [1. 20]. 

What is the range of CONFIG_BT_MAX_CONN? another example says 20, but why this one set it to 62?

Another question, when a central is connected to some peripherals,  is it still able to do scanning?

Thanks you!

Ping

Parents
  • Hi

    I see you also made a new case asking these same exact questions. In the future please create a new case if it's a separate topic or the older case was closed. Otherwise it's fine to ask in an existing post.

    1. As far as I can tell, this is used when you connect to a device with bt_conn_le_create(). So when you get the connected event, either because of a failed connection attempt or a successful one (the second one), the conn_connecting has to be cleared so you can connect to the next device with a new connection object.

    2. I don't think you need to, since this is cleared after a connection it is ready to be used by the next device that is connecting as well.

    3. It should reach the "Disconnecting all" line and below when the iterations limit (max connections) are reached this can be reached as well as far as I can tell.

    Best regards,

    Simon

  • Hi, Simon

    1. I think conn_connecting is an instance of bt_conn in pointer type, right?  definition below.

    struct bt_conn *conn_connecting;
    while it is created in following function -
        err = bt_conn_le_create(addr, &create_param, &conn_param,
                    &conn_connecting);
    and declaration of the function is :
    int bt_conn_le_create(const bt_addr_le_t *peer,
    		      const struct bt_conn_le_create_param *create_param,
    		      const struct bt_le_conn_param *conn_param,
    		      struct bt_conn **ret_conn)
     it is a type of struct bt_conn **ret_conn, looks like a pointer of a pointer, I am bit confused here, and not sure which one is the connect object after a connection is created, please clarify.
    2. About the SRAM usage, compile code uses ~30K RAM out of 128K,so there is still about 98K left, is there a way to know how much RAM a connection use? Please advise.
    Thank you again for your patience!
    Ping
Reply
  • Hi, Simon

    1. I think conn_connecting is an instance of bt_conn in pointer type, right?  definition below.

    struct bt_conn *conn_connecting;
    while it is created in following function -
        err = bt_conn_le_create(addr, &create_param, &conn_param,
                    &conn_connecting);
    and declaration of the function is :
    int bt_conn_le_create(const bt_addr_le_t *peer,
    		      const struct bt_conn_le_create_param *create_param,
    		      const struct bt_le_conn_param *conn_param,
    		      struct bt_conn **ret_conn)
     it is a type of struct bt_conn **ret_conn, looks like a pointer of a pointer, I am bit confused here, and not sure which one is the connect object after a connection is created, please clarify.
    2. About the SRAM usage, compile code uses ~30K RAM out of 128K,so there is still about 98K left, is there a way to know how much RAM a connection use? Please advise.
    Thank you again for your patience!
    Ping
Children
No Data
Related