3 Replies Latest reply on Nov 28, 2018 10:09 PM by SayaniS_66

    Fast ble time multiplexing?

      We have an application where we need to control several ble devices at the same time. Was looking at the "Time Multiplexed" example in 100 proj/days but found that there's at least a 100ms delay to swap to the next device. We need to be able to update the peripherals faster than that, is there any way to reduce that delay down to 20ms or so?

        • 1. Re: Fast ble time multiplexing?



          In the Time Multiplexed code example, the WDT interrupt occurs every 1 second. So, whenever the interrupt is triggered (i.e every 1 second), the GAP Central tries to connect to next device in the bonded device list, in a round-robin manner.

          To reduce it to 20 ms, you can change the timer period. Also, you can make the CPU to work at the highest clock frequency and reduce the components which are not required (like UART) in the example to make processing faster.



          • 2. Re: Fast ble time multiplexing?

            Hey Sayani,


            So I've already tried playing with the WDT in the example, but found that if I dropped it down to say 10ms, it would stay connected for 10ms but then would still take ~100ms to reconnect to the next one. I also tried an event driven approach where as soon as it detected that it was connected to one, it would disconnect and try to connect to the next one, but it still had that ~100ms delay for reconnecting. We are trying to figure out if that is just based on the way that the psoc 4 works and what the minimum delay to disconnect from one device and reconnect to a new one is.


            At this point we were assuming that the delay is going to take too long, and are looking at using psoc 6 so we can just connect to both at the same time, but this is obviously not as cost effective...




            • 3. Re: Fast ble time multiplexing?



              In the Time Multiplexed example, for the peripheral project you can set the advertisement interval to the minimum value. For the central project, set the connection interval to a minimum value also.

              By keeping all these parameters to a minimum, we can reduce the delay. But there is no hard and fast way to minimize the connection delay.