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

Can central multi-link connect to several peripherals with App_Uart?

Will it be possible to get data from several (20) peripherals which have App_UART to the single Multi-Link central?

Parents
  • Hi Jorgen, nice to see your post here. I am doing the same kind of project based on multiple peripherals and central. I have 20 peripherals and transmit data to the central at 0.28s individually. Every peripheral works based on its own timers. But when the peripherals increase from 10 to 15 or 16, many peripherals will be lost connection with central and didn't advertise anymore. As you mentioned before, increasing the connection interval will solve the problem, which parameters are related to this question? The code below in sdk_config.h? Thanks.

    // <o> NRF_BLE_SCAN_SCAN_WINDOW - Scanning window. Determines the scanning window in units of 0.625 millisecond. 
    #ifndef NRF_BLE_SCAN_SCAN_WINDOW
    #define NRF_BLE_SCAN_SCAN_WINDOW 80      // 200      
    #endif
    
    // <o> NRF_BLE_SCAN_MIN_CONNECTION_INTERVAL - Determines minimum connection interval in milliseconds. 
    #ifndef NRF_BLE_SCAN_MIN_CONNECTION_INTERVAL
    #define NRF_BLE_SCAN_MIN_CONNECTION_INTERVAL 7.5       //7.5
    #endif
    
    // <o> NRF_BLE_SCAN_MAX_CONNECTION_INTERVAL - Determines maximum connection interval in milliseconds. 
    #ifndef NRF_BLE_SCAN_MAX_CONNECTION_INTERVAL
    #define NRF_BLE_SCAN_MAX_CONNECTION_INTERVAL 30    //180      
    #endif
    
    // <o> NRF_BLE_SCAN_SLAVE_LATENCY - Determines the slave latency in counts of connection events. 
    #ifndef NRF_BLE_SCAN_SLAVE_LATENCY
    #define NRF_BLE_SCAN_SLAVE_LATENCY 0
    #endif
    
    // <o> NRF_BLE_SCAN_SUPERVISION_TIMEOUT - Determines the supervision time-out in units of 10 millisecond. 
    #ifndef NRF_BLE_SCAN_SUPERVISION_TIMEOUT
    #define NRF_BLE_SCAN_SUPERVISION_TIMEOUT 4000
    #endif

Reply
  • Hi Jorgen, nice to see your post here. I am doing the same kind of project based on multiple peripherals and central. I have 20 peripherals and transmit data to the central at 0.28s individually. Every peripheral works based on its own timers. But when the peripherals increase from 10 to 15 or 16, many peripherals will be lost connection with central and didn't advertise anymore. As you mentioned before, increasing the connection interval will solve the problem, which parameters are related to this question? The code below in sdk_config.h? Thanks.

    // <o> NRF_BLE_SCAN_SCAN_WINDOW - Scanning window. Determines the scanning window in units of 0.625 millisecond. 
    #ifndef NRF_BLE_SCAN_SCAN_WINDOW
    #define NRF_BLE_SCAN_SCAN_WINDOW 80      // 200      
    #endif
    
    // <o> NRF_BLE_SCAN_MIN_CONNECTION_INTERVAL - Determines minimum connection interval in milliseconds. 
    #ifndef NRF_BLE_SCAN_MIN_CONNECTION_INTERVAL
    #define NRF_BLE_SCAN_MIN_CONNECTION_INTERVAL 7.5       //7.5
    #endif
    
    // <o> NRF_BLE_SCAN_MAX_CONNECTION_INTERVAL - Determines maximum connection interval in milliseconds. 
    #ifndef NRF_BLE_SCAN_MAX_CONNECTION_INTERVAL
    #define NRF_BLE_SCAN_MAX_CONNECTION_INTERVAL 30    //180      
    #endif
    
    // <o> NRF_BLE_SCAN_SLAVE_LATENCY - Determines the slave latency in counts of connection events. 
    #ifndef NRF_BLE_SCAN_SLAVE_LATENCY
    #define NRF_BLE_SCAN_SLAVE_LATENCY 0
    #endif
    
    // <o> NRF_BLE_SCAN_SUPERVISION_TIMEOUT - Determines the supervision time-out in units of 10 millisecond. 
    #ifndef NRF_BLE_SCAN_SUPERVISION_TIMEOUT
    #define NRF_BLE_SCAN_SUPERVISION_TIMEOUT 4000
    #endif

Children
Related