This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Multilink capabilities of the hrs_c example?

Greetings,

I'm using 3 NRF52832 boards, s132 and SDK 14.2.0. I'm interested in connecting two hrs peripherals to a single hrs central, but have found some posts that say that the peer manager will have conflict with two connections.

Should I implement hrs_c over the Multilink example or is it actually possible to connect the hrs_c to two peripherals? If so, is there anything else I need to know aside from changing NRF_SDH_BLE_CENTRAL_LINK_COUNT to 2?

Thank you in advance for your time.

Parents
  • Hi Catalina

    Could you provide a link to the posts?

    As far as I know there is no particular reason you can't run the peer manager with multiple central or peripheral connections. 

    Best regards
    Torbjørn

  • Reading back I'm sorry, I could have done my homework a bit better. This one for example hinted problems with the peer manager, and the fact that the Multilink example doesn't use it confused me a bit.

    Do you know of any tutorial that explains how to go from single to multiple connections?

  • Hi Catalina

    We don't have any tutorials showing exactly the steps needed to go from one link to multiple unfortunately, but it's possible to have a look at how it is handled in the multilink example. 

    The main difference is that the BLE service instances and the DB discovery instance (m_db_disc) needs to be implemented as arrays rather than as single variables. This affects every function that refers to these instances, and the connection handle for that particular connection is used as an index in the arrays (since the connection handle starts at 0 and increments from there it is suited for this). 

    The ble_evt_handler(..) function in particular will require a lot of changes, as it accesses these instances several places.  

    Best regards
    Torbjørn

Reply
  • Hi Catalina

    We don't have any tutorials showing exactly the steps needed to go from one link to multiple unfortunately, but it's possible to have a look at how it is handled in the multilink example. 

    The main difference is that the BLE service instances and the DB discovery instance (m_db_disc) needs to be implemented as arrays rather than as single variables. This affects every function that refers to these instances, and the connection handle for that particular connection is used as an index in the arrays (since the connection handle starts at 0 and increments from there it is suited for this). 

    The ble_evt_handler(..) function in particular will require a lot of changes, as it accesses these instances several places.  

    Best regards
    Torbjørn

Children
No Data
Related