I am using the 128K PROC EZ-BLE chip in peripheral mode. From my testing I have found that it takes ~11 connection intervals to change from one connection parameter setting to another. For example, if my connection interval is set to 50ms and I request a new connection interval, once the peripheral receives an acceptance from the client the new interval doesn't take affect until 11 intervals later, or 50ms*11=550ms in this case. If my interval is set to 1 second, it takes 11 seconds to change the connection parameters! I've tried not going to sleep while updating the connection parameters but that did nothing to speed it up.
Is this something the is inherent in the BLE stack and is out of my control? Is there a way for me to speed this up? Or is there possibly something wrong in my code that is slowing the connection update response down?
Yes, the time required for setting new connection parameters is handled in stack. It is dependent on Old connection parameters. Can you please create a technical support case at www.cypress.com/support providing the project which you are using os that we can check whether it is expected or not?