From f281e06e467ff6a262dbc64abe55d17fb4a0b803 Mon Sep 17 00:00:00 2001 From: Desmond Chen Date: Wed, 2 Jan 2019 15:12:38 +0800 Subject: [PATCH] BLE: NRF52 returns tx/rx phy on phy update callback --- .../TARGET_NRF52/source/nRF5xGap.cpp | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NORDIC_SOFTDEVICE/TARGET_NRF52/source/nRF5xGap.cpp b/features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NORDIC_SOFTDEVICE/TARGET_NRF52/source/nRF5xGap.cpp index 5c343eafa52..9b2ef6ee4a4 100644 --- a/features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NORDIC_SOFTDEVICE/TARGET_NRF52/source/nRF5xGap.cpp +++ b/features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NORDIC_SOFTDEVICE/TARGET_NRF52/source/nRF5xGap.cpp @@ -115,6 +115,23 @@ peer_address_type_t convert_identity_address(advertising_peer_address_type_t add } } +ble::phy_t convert_phy(uint8_t nordic_phy) +{ + switch(nordic_phy) { + case BLE_GAP_PHY_1MBPS: + return ble::phy_t::LE_1M; + + case BLE_GAP_PHY_2MBPS: + return ble::phy_t::LE_2M; + + case BLE_GAP_PHY_CODED: + return ble::phy_t::LE_CODED; + + default: + return ble::phy_t::NONE; + } +} + // FIXME: update when SD 5 (not alpha!) or more is used for 52840. #ifndef BLE_GAP_PHY_AUTO #define BLE_GAP_PHY_AUTO 0 @@ -1630,8 +1647,8 @@ void nRF5xGap::on_phy_update( _eventHandler->onPhyUpdateComplete( status, connection, - Phy_t::LE_1M, - Phy_t::LE_1M + convert_phy(evt.tx_phy), + convert_phy(evt.rx_phy) ); }