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

multi-central limitation

I am using the UART multi-central example (from GITHUB) and connecting multuple peripherlas each streaming data at 38K

The multi-central is gathering the data from the various peripherals.

I noticed that if the data throughput is high, the multucentral device cannot handle it and crashes.

What is the limitation of the multi-central? How much data/ peripherlas can it connect and get data at which rate?

Parents
  • I noticed that if the data throughput is high, the multucentral device cannot handle it and crashes.

    I am assuming you are using Softdevice and not Softdevice Controller. It would be nice if you can get the context of what you mean by "crashes"? If it is a system restart, then you can

    • compile your application with debug version,
    • start the application in the debugger,
    • put breakpoints at NVIC_SystemReset() (grep your whole code for NVIC_SystemReset) and 
    • run the application in the debugger until you reach the state which you mention as "crashes". 

    Hopefully at this point one of the breakpoints at NVIC_SystemReset will be hit and you can post the function call stack here so that we get more context on the cause of the reset. 

  • I get the following trace when I have only one client connected to the multi-central and streaming data at rate of once every 2 seconds. I don't understand why there is "Connection handle invalid". When I have more clients, there are more warnings like this and eventually, the muli-sentral cannot connect to anyone

    <debug> app: Receiving data.
    <debug> app: 04 00 00 00 00 00 00 04|........
    <debug> app: 0B 04 28 00 00 00 00 2C|..(....,
    <debug> app: 0A |.
    <warning> ble_nus_c: Connection handle invalid.
    <debug> nrf_ble_gq: Adding item to the request queue
    <debug> nrf_ble_gq: GATTC Write Request
    <debug> nrf_ble_gq: SD GATT procedure (1) succeeded on connection handle: 1.
    <warning> ble_nus_c: Connection handle invalid.
    <warning> ble_nus_c: Connection handle invalid.
    <warning> ble_nus_c: Connection handle invalid.
    <debug> ble_nus_c: Client sending data.
    <debug> nrf_ble_gq: Processing the request queue...
    <debug> nrf_ble_gq: Processing the request queue...

Reply
  • I get the following trace when I have only one client connected to the multi-central and streaming data at rate of once every 2 seconds. I don't understand why there is "Connection handle invalid". When I have more clients, there are more warnings like this and eventually, the muli-sentral cannot connect to anyone

    <debug> app: Receiving data.
    <debug> app: 04 00 00 00 00 00 00 04|........
    <debug> app: 0B 04 28 00 00 00 00 2C|..(....,
    <debug> app: 0A |.
    <warning> ble_nus_c: Connection handle invalid.
    <debug> nrf_ble_gq: Adding item to the request queue
    <debug> nrf_ble_gq: GATTC Write Request
    <debug> nrf_ble_gq: SD GATT procedure (1) succeeded on connection handle: 1.
    <warning> ble_nus_c: Connection handle invalid.
    <warning> ble_nus_c: Connection handle invalid.
    <warning> ble_nus_c: Connection handle invalid.
    <debug> ble_nus_c: Client sending data.
    <debug> nrf_ble_gq: Processing the request queue...
    <debug> nrf_ble_gq: Processing the request queue...

Children
No Data
Related