AnsweredAssumed Answered

QN908xcdk Connection time set and QPP bps

Question asked by jinjee seo on Sep 16, 2019
Latest reply on Sep 25, 2019 by Xiang Li

The maximum throughput test is in progress.
Test environment.
1. using two qn908xcdk
2. qn908xcdk_wireless_examples_bluetooth_private_profile_server_bm and qn908xcdk_wireless_examples_bluetooth_private_profile_client_bm sample projects
3. 2M Phy


In the above environment, 950kbps throughput was obtained.
I set the connection interval to 6 under the assumption that reducing the connection interval would yield higher throughput. But rather lowered to 500kbps.


Next, I set the connection interval to 20. (If I didn't put the code to change the connection interval, it would be 20.)
Then I expected the same 950kbps as the first test and I got 300kbps.


I wonder why this happens?



1. Does the connection interval and bps have nothing to do with it?
2. Why is it lowered when I set it to the same connection interval of 20?


Note that the connection interval is set in the profile_client project.
The code is as follows:


case mAppExchangeMtu_c:
        if (event == mAppEvt_GattProcComplete_c)
            (void) Gap_UpdateLeDataLength (peerDeviceId, gBleMaxTxOctets_c, gBleMaxTxTime_c);


            / * I added to update connection interval * /
            Gap_UpdateConnectionParameters (peerDeviceId, 20, 20, 0, gGapConnSuperTimeoutMax_d, gGapConnEventLengthMin_d, gGapConnEventLengthMax_d);


            / * Moving to Service Discovery State * /
            mPeerInformation [peerDeviceId] .appState = mAppServiceDisc_c;


            / * Start Service Discovery * /
            BleServDisc_Start (peerDeviceId);
        else if (event == mAppEvt_GattProcError_c)
            Gap_Disconnect (peerDeviceId);