Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
5 years, 11 months ago.
[BLE]nRF52DK update PHY to 2M PHY with iPhone 8, but the callback indicate it's still 1M PHY.
This is my code, https://os.mbed.com/users/krenbluetoothsig/code/BluetoothLEGap/ You can check the latest commit out, compile and run it on Nordic nRF52DK. I use my iPhone 8 (iOS 12.1) to connect with nRF52DK, I could noticed that iPhone and DK updated the PHY to 2M PHY because they were preferred PHY, but the callback from mbed OS indicated that the PHY is still 1M PHY, they are mismatched. The callback is below, the phy.value() is always 1.
virtual void onPhyUpdateComplete( ble_error_t error, Gap::Handle_t connectionHandle, Gap::Phy_t txPhy, Gap::Phy_t rxPhy ) { if (error) { printf( "Phy update on connection: %d failed with error code %s\r\n", connectionHandle, BLE::errorToString(error) ); } else { printf( "Phy update on connection %d - Tx Phy: %d, Rx Phy: %d\r\n", connectionHandle, txPhy.value(), /*to_string(txPhy),*/ rxPhy.value() /*to_string(rxPhy)*/ ); } }
1 Answer
5 years, 11 months ago.
Hi Kai Ren,
Thanks you for reporting this issue, it looks like the phy has been hard-coded, so no matter how you change the phy value, it is always LE_1M.
I have created a PR for this, you can refer to here https://github.com/ARMmbed/mbed-os/pull/9220, any idea or improvement are very welcome!
Thanks,
- Desmond, team Mbed
Thank you Desmond for creating this PR. I'm just curious that how can I implement this change on my application?
posted by 03 Jan 2019Hi Kai Ren,
If you are using mbed online compiler, then you may not be able to fix this issue on your application, because this change stays in mbed-os.
The only way is to use mbed-cli offline compiler, that gives you more flexibility, with mbed-cli, you can refer here https://github.com/ARMmbed/mbed-os/pull/9220/files and change your code accordingly.
Please let me know if you have any questions.
posted by 03 Jan 2019I noticed that mbed os v5.11.2 was released and I found that #9220 was included in this release, but after "update all" of my source code, https://os.mbed.com/users/krenbluetoothsig/code/BluetoothLEGap/ , I found that the PHY status was still 1M but the actual one is 2M PHY. I'm wonderting that is 5.11.2 pulled by developer now?
posted by 22 Jan 2019