Hello, I have a question that I can not answer myself searching the available documentation.
The application that we are developing is intended to be one set of firmware that is installed on multiple devices. I have already made it possible for a device to both advertise and scan, and any device can become a BLE Central or Peripheral based on which device connects to which. Additionally devices can connect to multiple other devices, and this creates a network of devices. Each device on the network is basically randomly connected as central to some devices and peripheral to other devices.
We are now moving to a development phase where we are trying to optimize for throughput. I have read through pretty much all the available documentation on how to achieve maximum throughput and the difficulties related to scheduling multiple concurrent central connections. My concern now is mainly to deal with how the peripheral role is managed, and comes down to this tidbit in this document:
infocenter.nordicsemi.com/.../ble_data_throughput.html
Throughput may be reduced if a peripheral link is running because peripheral links are not synchronized with central links. If a peripheral link is running, throughput may decrease to half for up to two central links and the peripheral link
I understand that the schedule of a peripheral link is managed by the central on the other end, and we can deal with that and have plans to mitigate peripheral-central collisions in the overall network.
Now to my actual question: once a BLE connection is established between a central and a peripheral, is it at all possible for the peripheral to become the central? This will allow the former-peripheral to take control of the connection event scheduling. Our idea was for the devices on the network to be able to reconfigure once the BLE connections are made, but I don't know if this is actually possible without having the devices disconnect and reconnect in the opposing roles.