This is an automated email from the ASF dual-hosted git repository.
janc pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-nimble.git
The following commit(s) were added to refs/heads/master by this push:
new 170728f2 nimble/phy/nrfx: Add support for extending T_IFS
170728f2 is described below
commit 170728f2ae3435eb13a04532559c5a1b6fadb35a
Author: Szymon Janc <[email protected]>
AuthorDate: Thu Sep 14 12:28:26 2023 +0200
nimble/phy/nrfx: Add support for extending T_IFS
This allows to extend T_ifs (inter-frame spacing) by additional
microseconds to improve interoperability with peripherals that
send packets too late (eg 153us). This prolongs reception time by
additional microseconds. Defaults to 2us to improve operations with
devices already on the market.
---
nimble/drivers/nrf5x/src/ble_phy.c | 2 ++
nimble/drivers/nrf5x/syscfg.yml | 10 ++++++++++
2 files changed, 12 insertions(+)
diff --git a/nimble/drivers/nrf5x/src/ble_phy.c
b/nimble/drivers/nrf5x/src/ble_phy.c
index cea18144..0c37f2aa 100644
--- a/nimble/drivers/nrf5x/src/ble_phy.c
+++ b/nimble/drivers/nrf5x/src/ble_phy.c
@@ -852,6 +852,8 @@ ble_phy_wfr_enable(int txrx, uint8_t tx_phy_mode, uint32_t
wfr_usecs)
* by waiting 1 usec more.
*/
end_time += 1;
+
+ end_time += MYNEWT_VAL(BLE_PHY_EXTENDED_TIFS);
} else {
/*
* RX shall start no later than wfr_usecs after RX enabled.
diff --git a/nimble/drivers/nrf5x/syscfg.yml b/nimble/drivers/nrf5x/syscfg.yml
index 07c9042f..f5a22730 100644
--- a/nimble/drivers/nrf5x/syscfg.yml
+++ b/nimble/drivers/nrf5x/syscfg.yml
@@ -26,6 +26,16 @@ syscfg.defs:
experimental: 1
value: 0
+ BLE_PHY_EXTENDED_TIFS:
+ description: >
+ This allows to extend T_ifs (inter-frame spacing) by additional
+ microseconds to improve interoperability with peripherals that
+ send packets too late (eg 153us). This prolongs reception time by
+ additional microseconds. Defaults to 2us to improve operations with
+ devices already on the market.
+ range: 0..4
+ value: 2
+
BLE_PHY_SYSVIEW:
description: >
Enable SystemView tracing module for radio driver.