mirror of
https://github.com/espressif/esp-nimble.git
synced 2026-08-08 02:57:56 +00:00
nimble/ll: Rename BLE_LL_FEM to BLE_FEM
FEM is not really related to LL so make it similar to PHY drivers.
This commit is contained in:
+18
-18
@@ -17,8 +17,8 @@
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
#ifndef H_BLE_LL_FEM_
|
||||
#define H_BLE_LL_FEM_
|
||||
#ifndef H_BLE_FEM_
|
||||
#define H_BLE_FEM_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -26,38 +26,38 @@ extern "C" {
|
||||
|
||||
#include "syscfg/syscfg.h"
|
||||
|
||||
#if MYNEWT_VAL(BLE_LL_FEM_PA)
|
||||
void ble_ll_fem_pa_init(void);
|
||||
void ble_ll_fem_pa_enable(void);
|
||||
void ble_ll_fem_pa_disable(void);
|
||||
#if MYNEWT_VAL(BLE_LL_FEM_PA_GAIN_TUNABLE)
|
||||
#if MYNEWT_VAL(BLE_FEM_PA)
|
||||
void ble_fem_pa_init(void);
|
||||
void ble_fem_pa_enable(void);
|
||||
void ble_fem_pa_disable(void);
|
||||
#if MYNEWT_VAL(BLE_FEM_PA_GAIN_TUNABLE)
|
||||
/* Configures FEM to selected TX power and returns expected PHY TX power */
|
||||
int ble_ll_fem_pa_tx_power_set(int tx_power);
|
||||
int ble_fem_pa_tx_power_set(int tx_power);
|
||||
|
||||
/* returns rounded FEM TX power */
|
||||
int ble_ll_fem_pa_tx_power_round(int tx_power);
|
||||
int ble_fem_pa_tx_power_round(int tx_power);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if MYNEWT_VAL(BLE_LL_FEM_LNA)
|
||||
void ble_ll_fem_lna_init(void);
|
||||
void ble_ll_fem_lna_enable(void);
|
||||
void ble_ll_fem_lna_disable(void);
|
||||
#if MYNEWT_VAL(BLE_FEM_LNA)
|
||||
void ble_fem_lna_init(void);
|
||||
void ble_fem_lna_enable(void);
|
||||
void ble_fem_lna_disable(void);
|
||||
|
||||
#if MYNEWT_VAL(BLE_LL_FEM_LNA_GAIN_TUNABLE)
|
||||
#if MYNEWT_VAL(BLE_FEM_LNA_GAIN_TUNABLE)
|
||||
/* Return current value of FEM LNA RX gain (in dBm) */
|
||||
int ble_ll_fem_lna_rx_gain(void);
|
||||
int ble_fem_lna_rx_gain(void);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#if MYNEWT_VAL(BLE_LL_FEM_ANTENNA)
|
||||
#if MYNEWT_VAL(BLE_FEM_ANTENNA)
|
||||
/* 0 sets default antenna, any other value is FEM specific */
|
||||
int ble_ll_fem_antenna(uint8_t antenna);
|
||||
int ble_fem_antenna(uint8_t antenna);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* H_BLE_LL_FEM_ */
|
||||
#endif /* H_BLE_FEM_ */
|
||||
@@ -29,12 +29,12 @@ pkg.req_apis:
|
||||
- ble_driver
|
||||
- ble_transport
|
||||
- stats
|
||||
pkg.req_apis.BLE_LL_FEM_PA:
|
||||
- ble_ll_fem_pa
|
||||
pkg.req_apis.BLE_LL_FEM_LNA:
|
||||
- ble_ll_fem_lna
|
||||
pkg.req_apis.BLE_LL_FEM_ANTENNA:
|
||||
- ble_ll_fem_antenna
|
||||
pkg.req_apis.BLE_FEM_PA:
|
||||
- ble_fem_pa
|
||||
pkg.req_apis.BLE_FEM_LNA:
|
||||
- ble_fem_lna
|
||||
pkg.req_apis.BLE_FEM_ANTENNA:
|
||||
- ble_fem_antenna
|
||||
|
||||
pkg.deps:
|
||||
- "@apache-mynewt-core/kernel/os"
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
#include "controller/ble_ll_rfmgmt.h"
|
||||
#include "controller/ble_ll_trace.h"
|
||||
#include "controller/ble_ll_sync.h"
|
||||
#include "controller/ble_ll_fem.h"
|
||||
#include "controller/ble_fem.h"
|
||||
#include "ble_ll_conn_priv.h"
|
||||
#include "ble_ll_hci_priv.h"
|
||||
#include "ble_ll_priv.h"
|
||||
@@ -1652,11 +1652,11 @@ ble_ll_reset(void)
|
||||
#endif
|
||||
|
||||
|
||||
#if MYNEWT_VAL(BLE_LL_FEM_PA)
|
||||
ble_ll_fem_pa_init();
|
||||
#if MYNEWT_VAL(BLE_FEM_PA)
|
||||
ble_fem_pa_init();
|
||||
#endif
|
||||
#if MYNEWT_VAL(BLE_LL_FEM_LNA)
|
||||
ble_ll_fem_lna_init();
|
||||
#if MYNEWT_VAL(BLE_FEM_LNA)
|
||||
ble_fem_lna_init();
|
||||
#endif
|
||||
|
||||
/* Re-initialize the PHY */
|
||||
@@ -1992,12 +1992,12 @@ ble_transport_ll_init(void)
|
||||
int
|
||||
ble_ll_tx_power_round(int tx_power)
|
||||
{
|
||||
#if MYNEWT_VAL(BLE_LL_FEM_PA)
|
||||
#if MYNEWT_VAL(BLE_LL_FEM_PA_GAIN_TUNABLE)
|
||||
tx_power = ble_ll_fem_pa_tx_power_round(tx_power);
|
||||
#if MYNEWT_VAL(BLE_FEM_PA)
|
||||
#if MYNEWT_VAL(BLE_FEM_PA_GAIN_TUNABLE)
|
||||
tx_power = ble_fem_pa_tx_power_round(tx_power);
|
||||
#else
|
||||
tx_power = ble_phy_tx_power_round(tx_power);
|
||||
tx_power += MYNEWT_VAL(BLE_LL_FEM_PA_GAIN);
|
||||
tx_power += MYNEWT_VAL(BLE_FEM_PA_GAIN);
|
||||
#endif
|
||||
#else
|
||||
tx_power = ble_phy_tx_power_round(tx_power);
|
||||
@@ -2009,15 +2009,15 @@ ble_ll_tx_power_round(int tx_power)
|
||||
void
|
||||
ble_ll_tx_power_set(int tx_power)
|
||||
{
|
||||
#if MYNEWT_VAL(BLE_LL_FEM_PA)
|
||||
#if MYNEWT_VAL(BLE_LL_FEM_PA_GAIN_TUNABLE)
|
||||
#if MYNEWT_VAL(BLE_FEM_PA)
|
||||
#if MYNEWT_VAL(BLE_FEM_PA_GAIN_TUNABLE)
|
||||
/* TODO should rounding be in assert only? or just skip it and assume
|
||||
* power is already rounded?
|
||||
*/
|
||||
tx_power = ble_ll_fem_pa_tx_power_round(tx_power);
|
||||
tx_power = ble_ll_fem_pa_tx_power_set(tx_power);
|
||||
tx_power = ble_fem_pa_tx_power_round(tx_power);
|
||||
tx_power = ble_fem_pa_tx_power_set(tx_power);
|
||||
#else
|
||||
tx_power -= MYNEWT_VAL(BLE_LL_FEM_PA_GAIN);
|
||||
tx_power -= MYNEWT_VAL(BLE_FEM_PA_GAIN);
|
||||
#endif
|
||||
#endif
|
||||
ble_phy_tx_power_set(tx_power);
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
#include "controller/ble_ll_adv.h"
|
||||
#include "controller/ble_ll_scan.h"
|
||||
#include "controller/ble_hw.h"
|
||||
#include "controller/ble_ll_fem.h"
|
||||
#include "controller/ble_fem.h"
|
||||
#include "ble_ll_conn_priv.h"
|
||||
#include "ble_ll_priv.h"
|
||||
|
||||
@@ -352,7 +352,7 @@ ble_ll_hci_vs_set_data_len(uint16_t ocf, const uint8_t *cmdbuf, uint8_t cmdlen,
|
||||
}
|
||||
#endif
|
||||
|
||||
#if MYNEWT_VAL(BLE_LL_FEM_ANTENNA)
|
||||
#if MYNEWT_VAL(BLE_FEM_ANTENNA)
|
||||
static int
|
||||
ble_ll_hci_vs_set_antenna(uint16_t ocf, const uint8_t *cmdbuf, uint8_t cmdlen,
|
||||
uint8_t *rspbuf, uint8_t *rsplen)
|
||||
@@ -367,7 +367,7 @@ ble_ll_hci_vs_set_antenna(uint16_t ocf, const uint8_t *cmdbuf, uint8_t cmdlen,
|
||||
return BLE_ERR_CMD_DISALLOWED;
|
||||
}
|
||||
|
||||
if (ble_ll_fem_antenna(cmd->antenna)) {
|
||||
if (ble_fem_antenna(cmd->antenna)) {
|
||||
return BLE_ERR_INV_HCI_CMD_PARMS;
|
||||
}
|
||||
|
||||
@@ -398,7 +398,7 @@ static struct ble_ll_hci_vs_cmd g_ble_ll_hci_vs_cmds[] = {
|
||||
BLE_LL_HCI_VS_CMD(BLE_HCI_OCF_VS_SET_DATA_LEN,
|
||||
ble_ll_hci_vs_set_data_len),
|
||||
#endif
|
||||
#if MYNEWT_VAL(BLE_LL_FEM_ANTENNA)
|
||||
#if MYNEWT_VAL(BLE_FEM_ANTENNA)
|
||||
BLE_LL_HCI_VS_CMD(BLE_HCI_OCF_VS_SET_ANTENNA, ble_ll_hci_vs_set_antenna),
|
||||
#endif
|
||||
};
|
||||
|
||||
@@ -36,11 +36,11 @@ ble_ll_rx_gain(void)
|
||||
{
|
||||
int gain = g_ble_ll_rx_power_compensation;
|
||||
|
||||
#if MYNEWT_VAL(BLE_LL_FEM_LNA)
|
||||
#if MYNEWT_VAL(BLE_LL_FEM_LNA_GAIN_TUNABLE)
|
||||
gain += ble_ll_fem_lna_rx_gain();
|
||||
#if MYNEWT_VAL(BLE_FEM_LNA)
|
||||
#if MYNEWT_VAL(BLE_FEM_LNA_GAIN_TUNABLE)
|
||||
gain += ble_fem_lna_rx_gain();
|
||||
#else
|
||||
gain += MYNEWT_VAL(BLE_LL_FEM_LNA_GAIN);
|
||||
gain += MYNEWT_VAL(BLE_FEM_LNA_GAIN);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
@@ -47,27 +47,27 @@ syscfg.defs:
|
||||
value: 0x0B65
|
||||
deprecated: 1
|
||||
BLE_LL_PA:
|
||||
description: use BLE_LL_FEM_PA
|
||||
description: use BLE_FEM_PA
|
||||
value: 0
|
||||
deprecated: 1
|
||||
BLE_LL_PA_GPIO:
|
||||
description: use BLE_LL_FEM_PA_GPIO
|
||||
description: use BLE_FEM_PA_GPIO
|
||||
value: -1
|
||||
deprecated: 1
|
||||
BLE_LL_PA_TURN_ON_US:
|
||||
description: use BLE_LL_FEM_PA_TURN_ON_US
|
||||
description: use BLE_FEM_PA_TURN_ON_US
|
||||
value: 1
|
||||
deprecated: 1
|
||||
BLE_LL_LNA:
|
||||
description: use BLE_LL_FEM_LNA
|
||||
description: use BLE_FEM_LNA
|
||||
value: 0
|
||||
deprecated: 1
|
||||
BLE_LL_LNA_GPIO:
|
||||
description: use BLE_LL_FEM_LNA_GPIO
|
||||
description: use BLE_FEM_LNA_GPIO
|
||||
value: -1
|
||||
deprecated: 1
|
||||
BLE_LL_LNA_TURN_ON_US:
|
||||
description: use BLE_LL_FEM_LNA_TURN_ON_US
|
||||
description: use BLE_FEM_LNA_TURN_ON_US
|
||||
value: 1
|
||||
deprecated: 1
|
||||
|
||||
|
||||
@@ -406,49 +406,49 @@ syscfg.defs:
|
||||
line number where assertion occured.
|
||||
value: MYNEWT_VAL(BLE_LL_VND_EVENT_ON_ASSERT)
|
||||
|
||||
BLE_LL_FEM_PA:
|
||||
BLE_FEM_PA:
|
||||
description: Enable FEM PA support
|
||||
value: MYNEWT_VAL(BLE_LL_PA)
|
||||
BLE_LL_FEM_PA_GAIN:
|
||||
BLE_FEM_PA_GAIN:
|
||||
description: PA fixed TX gain (in dBm).
|
||||
value: 0
|
||||
BLE_LL_FEM_PA_GAIN_TUNABLE:
|
||||
BLE_FEM_PA_GAIN_TUNABLE:
|
||||
description: >
|
||||
PA TX gain is tunable and not constant. If enabled
|
||||
ble_ll_fem_pa_tx_power_set() and ble_ll_fem_pa_tx_power_round()
|
||||
shall be implemented (see ble_ll_fem.h for details).
|
||||
ble_fem_pa_tx_power_set() and ble_fem_pa_tx_power_round()
|
||||
shall be implemented (see ble_fem.h for details).
|
||||
value: 0
|
||||
BLE_LL_FEM_PA_GPIO:
|
||||
BLE_FEM_PA_GPIO:
|
||||
description: >
|
||||
GPIO pin number to control PA. Pin is set to high state when PA
|
||||
should be enabled.
|
||||
value: MYNEWT_VAL(BLE_LL_PA_GPIO)
|
||||
BLE_LL_FEM_PA_TURN_ON_US:
|
||||
BLE_FEM_PA_TURN_ON_US:
|
||||
description: >
|
||||
Time required for PA to turn on, in microseconds.
|
||||
value: MYNEWT_VAL(BLE_LL_PA_TURN_ON_US)
|
||||
BLE_LL_FEM_LNA:
|
||||
BLE_FEM_LNA:
|
||||
description: Enable LNA support
|
||||
value: MYNEWT_VAL(BLE_LL_LNA)
|
||||
BLE_LL_FEM_LNA_GAIN:
|
||||
BLE_FEM_LNA_GAIN:
|
||||
description: LNA fixed RX gain (in dBm).
|
||||
value: 0
|
||||
BLE_LL_FEM_LNA_GAIN_TUNABLE:
|
||||
BLE_FEM_LNA_GAIN_TUNABLE:
|
||||
description: >
|
||||
LNA RX gain is tunable and not constant. If enabled
|
||||
ble_ll_fem_lna_rx_gain() shall be implemented (see ble_ll_fem.h for
|
||||
ble_fem_lna_rx_gain() shall be implemented (see ble_fem.h for
|
||||
details).
|
||||
value: 0
|
||||
BLE_LL_FEM_LNA_GPIO:
|
||||
BLE_FEM_LNA_GPIO:
|
||||
description: >
|
||||
GPIO pin number to control LNA. Pin is set to high state when LNA
|
||||
should be enabled.
|
||||
value: MYNEWT_VAL(BLE_LL_LNA_GPIO)
|
||||
BLE_LL_FEM_LNA_TURN_ON_US:
|
||||
BLE_FEM_LNA_TURN_ON_US:
|
||||
description: >
|
||||
Time required for LNA to turn on, in microseconds.
|
||||
value: MYNEWT_VAL(BLE_LL_LNA_TURN_ON_US)
|
||||
BLE_LL_FEM_ANTENNA:
|
||||
BLE_FEM_ANTENNA:
|
||||
description: >
|
||||
Enable support for runtime antenna selection in FEM.
|
||||
value: 0
|
||||
@@ -541,8 +541,8 @@ syscfg.vals.'!BLE_HOST && !BABBLESIM':
|
||||
syscfg.restrictions:
|
||||
- BLE_TRANSPORT_LL == "native"
|
||||
- BLE_LL_PUBLIC_DEV_ADDR <= 0xffffffffffff
|
||||
- BLE_LL_FEM_PA == 0 || BLE_LL_FEM_PA_GPIO >= 0
|
||||
- BLE_LL_FEM_LNA == 0 || BLE_LL_FEM_LNA_GPIO >= 0
|
||||
- BLE_FEM_PA == 0 || BLE_FEM_PA_GPIO >= 0
|
||||
- BLE_FEM_LNA == 0 || BLE_FEM_LNA_GPIO >= 0
|
||||
|
||||
$import:
|
||||
# defunct and deprecated settings
|
||||
|
||||
@@ -22,9 +22,9 @@ pkg.description: Driver for SKY66112 front-end module
|
||||
pkg.author: "Apache Mynewt <[email protected]>"
|
||||
pkg.homepage: "https://mynewt.apache.org/"
|
||||
pkg.apis:
|
||||
- ble_ll_fem_pa
|
||||
- ble_ll_fem_lna
|
||||
- ble_ll_fem_antenna
|
||||
- ble_fem_pa
|
||||
- ble_fem_lna
|
||||
- ble_fem_antenna
|
||||
pkg.deps:
|
||||
- nimble/controller
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
#include <sky66112/sky66112.h>
|
||||
#include "syscfg/syscfg.h"
|
||||
#include "hal/hal_gpio.h"
|
||||
#include "controller/ble_ll_fem.h"
|
||||
#include "controller/ble_fem.h"
|
||||
|
||||
static struct {
|
||||
uint8_t rx_bypass : 1;
|
||||
@@ -41,13 +41,13 @@ sky66112_bypass(uint8_t enabled)
|
||||
}
|
||||
|
||||
void
|
||||
ble_ll_fem_pa_init(void)
|
||||
ble_fem_pa_init(void)
|
||||
{
|
||||
/* Nothing to do here */
|
||||
}
|
||||
|
||||
void
|
||||
ble_ll_fem_pa_enable(void)
|
||||
ble_fem_pa_enable(void)
|
||||
{
|
||||
if (sky66112_config.tx_bypass) {
|
||||
sky66112_bypass(1);
|
||||
@@ -55,7 +55,7 @@ ble_ll_fem_pa_enable(void)
|
||||
}
|
||||
|
||||
void
|
||||
ble_ll_fem_pa_disable(void)
|
||||
ble_fem_pa_disable(void)
|
||||
{
|
||||
if (sky66112_config.tx_bypass) {
|
||||
sky66112_bypass(0);
|
||||
@@ -63,13 +63,13 @@ ble_ll_fem_pa_disable(void)
|
||||
}
|
||||
|
||||
void
|
||||
ble_ll_fem_lna_init(void)
|
||||
ble_fem_lna_init(void)
|
||||
{
|
||||
/* Nothing to do here */
|
||||
}
|
||||
|
||||
void
|
||||
ble_ll_fem_lna_enable(void)
|
||||
ble_fem_lna_enable(void)
|
||||
{
|
||||
if (sky66112_config.rx_bypass) {
|
||||
sky66112_bypass(1);
|
||||
@@ -77,7 +77,7 @@ ble_ll_fem_lna_enable(void)
|
||||
}
|
||||
|
||||
void
|
||||
ble_ll_fem_lna_disable(void)
|
||||
ble_fem_lna_disable(void)
|
||||
{
|
||||
if (sky66112_config.rx_bypass) {
|
||||
sky66112_bypass(0);
|
||||
@@ -95,7 +95,7 @@ sky66112_tx_hp_mode(uint8_t enabled)
|
||||
}
|
||||
|
||||
int
|
||||
ble_ll_fem_antenna(uint8_t port)
|
||||
ble_fem_antenna(uint8_t port)
|
||||
{
|
||||
int pin = MYNEWT_VAL(SKY66112_PIN_SEL);
|
||||
|
||||
|
||||
@@ -64,10 +64,10 @@ syscfg.defs:
|
||||
range: 1, 2
|
||||
value: 1
|
||||
|
||||
syscfg.vals.!BLE_LL_FEM_PA:
|
||||
syscfg.vals.!BLE_FEM_PA:
|
||||
# Enable TX bypass by default if PA is disabled
|
||||
SKY66112_TX_BYPASS: 1
|
||||
|
||||
syscfg.vals.!BLE_LL_FEM_LNA:
|
||||
syscfg.vals.!BLE_FEM_LNA:
|
||||
# Enable RX bypass by default if LNA is disabled
|
||||
SKY66112_RX_BYPASS: 1
|
||||
|
||||
@@ -35,8 +35,8 @@ extern "C" {
|
||||
*
|
||||
* TODO this file should be refactored...
|
||||
*/
|
||||
#if (MYNEWT_VAL(BLE_LL_FEM_PA) && (MYNEWT_VAL(BLE_LL_FEM_PA_TURN_ON_US) > 60)) || \
|
||||
(MYNEWT_VAL(BLE_LL_FEM_LNA) && (MYNEWT_VAL(BLE_LL_FEM_LNA_TURN_ON_US) > 60))
|
||||
#if (MYNEWT_VAL(BLE_FEM_PA) && (MYNEWT_VAL(BLE_FEM_PA_TURN_ON_US) > 60)) || \
|
||||
(MYNEWT_VAL(BLE_FEM_LNA) && (MYNEWT_VAL(BLE_FEM_LNA_TURN_ON_US) > 60))
|
||||
#define XCVR_PROC_DELAY_USECS (183)
|
||||
#else
|
||||
#define XCVR_PROC_DELAY_USECS (153)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
#include <assert.h>
|
||||
#include <controller/ble_ll_fem.h>
|
||||
#include <controller/ble_fem.h>
|
||||
#include <hal/nrf_radio.h>
|
||||
#include <hal/nrf_ccm.h>
|
||||
#include <hal/nrf_aar.h>
|
||||
@@ -634,12 +634,12 @@ ble_phy_set_start_time(uint32_t cputime, uint8_t rem_us, bool tx)
|
||||
radio_rem_us = rem_us - BLE_PHY_T_TXENFAST -
|
||||
g_ble_phy_t_txdelay[g_ble_phy_data.phy_cur_phy_mode];
|
||||
#if PHY_USE_FEM_PA
|
||||
fem_rem_us = rem_us - MYNEWT_VAL(BLE_LL_FEM_PA_TURN_ON_US);
|
||||
fem_rem_us = rem_us - MYNEWT_VAL(BLE_FEM_PA_TURN_ON_US);
|
||||
#endif
|
||||
} else {
|
||||
radio_rem_us = rem_us - BLE_PHY_T_TXENFAST;
|
||||
#if PHY_USE_FEM_LNA
|
||||
fem_rem_us = rem_us - MYNEWT_VAL(BLE_LL_FEM_LNA_TURN_ON_US);
|
||||
fem_rem_us = rem_us - MYNEWT_VAL(BLE_FEM_LNA_TURN_ON_US);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -756,14 +756,14 @@ ble_phy_set_start_now(void)
|
||||
*/
|
||||
|
||||
#if PHY_USE_FEM_LNA
|
||||
if (MYNEWT_VAL(BLE_LL_FEM_LNA_TURN_ON_US) > BLE_PHY_T_RXENFAST) {
|
||||
radio_rem_us = 1 + MYNEWT_VAL(BLE_LL_FEM_LNA_TURN_ON_US) -
|
||||
if (MYNEWT_VAL(BLE_FEM_LNA_TURN_ON_US) > BLE_PHY_T_RXENFAST) {
|
||||
radio_rem_us = 1 + MYNEWT_VAL(BLE_FEM_LNA_TURN_ON_US) -
|
||||
BLE_PHY_T_RXENFAST;
|
||||
fem_rem_us = 1;
|
||||
} else {
|
||||
radio_rem_us = 1;
|
||||
fem_rem_us = 1 + BLE_PHY_T_RXENFAST -
|
||||
MYNEWT_VAL(BLE_LL_FEM_LNA_TURN_ON_US);
|
||||
MYNEWT_VAL(BLE_FEM_LNA_TURN_ON_US);
|
||||
}
|
||||
#else
|
||||
radio_rem_us = 1;
|
||||
@@ -1071,7 +1071,7 @@ ble_phy_tx_end_isr(void)
|
||||
rx_time -= 2;
|
||||
|
||||
#if PHY_USE_FEM_LNA
|
||||
fem_time = rx_time - MYNEWT_VAL(BLE_LL_FEM_LNA_TURN_ON_US);
|
||||
fem_time = rx_time - MYNEWT_VAL(BLE_FEM_LNA_TURN_ON_US);
|
||||
nrf_timer_cc_set(NRF_TIMER0, 2, fem_time);
|
||||
NRF_TIMER0->EVENTS_COMPARE[2] = 0;
|
||||
phy_fem_enable_lna();
|
||||
@@ -1228,7 +1228,7 @@ ble_phy_rx_end_isr(void)
|
||||
tx_time -= g_ble_phy_t_rxenddelay[ble_hdr->rxinfo.phy_mode];
|
||||
|
||||
#if PHY_USE_FEM_PA
|
||||
fem_time = tx_time - MYNEWT_VAL(BLE_LL_FEM_PA_TURN_ON_US);
|
||||
fem_time = tx_time - MYNEWT_VAL(BLE_FEM_PA_TURN_ON_US);
|
||||
#endif
|
||||
|
||||
/* Adjust for delay between EVENT_READY and actual TX start time */
|
||||
@@ -1454,9 +1454,9 @@ ble_phy_isr(void)
|
||||
|
||||
switch (g_ble_phy_data.phy_state) {
|
||||
case BLE_PHY_STATE_RX:
|
||||
#if MYNEWT_VAL(BLE_LL_FEM_LNA)
|
||||
#if MYNEWT_VAL(BLE_FEM_LNA)
|
||||
phy_ppi_fem_disable();
|
||||
ble_ll_fem_lna_disable();
|
||||
ble_fem_lna_disable();
|
||||
#endif
|
||||
if (g_ble_phy_data.phy_rx_started) {
|
||||
ble_phy_rx_end_isr();
|
||||
@@ -1465,9 +1465,9 @@ ble_phy_isr(void)
|
||||
}
|
||||
break;
|
||||
case BLE_PHY_STATE_TX:
|
||||
#if MYNEWT_VAL(BLE_LL_FEM_PA)
|
||||
#if MYNEWT_VAL(BLE_FEM_PA)
|
||||
phy_ppi_fem_disable();
|
||||
ble_ll_fem_pa_disable();
|
||||
ble_fem_pa_disable();
|
||||
#endif
|
||||
ble_phy_tx_end_isr();
|
||||
break;
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
#include <stdint.h>
|
||||
#include <nrfx.h>
|
||||
#include <controller/ble_ll_fem.h>
|
||||
#include <controller/ble_fem.h>
|
||||
#include "../phy_priv.h"
|
||||
|
||||
#if PHY_USE_DEBUG
|
||||
@@ -85,19 +85,19 @@ phy_fem_init(void)
|
||||
{
|
||||
#if PHY_USE_FEM_SINGLE_GPIO
|
||||
#if PHY_USE_FEM_PA
|
||||
phy_gpiote_configure(PHY_GPIOTE_FEM, MYNEWT_VAL(BLE_LL_FEM_PA_GPIO));
|
||||
phy_gpiote_configure(PHY_GPIOTE_FEM, MYNEWT_VAL(BLE_FEM_PA_GPIO));
|
||||
#else
|
||||
phy_gpiote_configure(PHY_GPIOTE_FEM, MYNEWT_VAL(BLE_LL_FEM_LNA_GPIO));
|
||||
phy_gpiote_configure(PHY_GPIOTE_FEM, MYNEWT_VAL(BLE_FEM_LNA_GPIO));
|
||||
#endif
|
||||
NRF_PPI->CH[6].TEP = (uint32_t)&(NRF_GPIOTE->TASKS_SET[PHY_GPIOTE_FEM]);
|
||||
NRF_PPI->CH[7].TEP = (uint32_t)&(NRF_GPIOTE->TASKS_CLR[PHY_GPIOTE_FEM]);
|
||||
#else
|
||||
#if PHY_USE_FEM_PA
|
||||
phy_gpiote_configure(PHY_GPIOTE_FEM_PA, MYNEWT_VAL(BLE_LL_FEM_PA_GPIO));
|
||||
phy_gpiote_configure(PHY_GPIOTE_FEM_PA, MYNEWT_VAL(BLE_FEM_PA_GPIO));
|
||||
NRF_GPIOTE->TASKS_CLR[PHY_GPIOTE_FEM_PA] = 1;
|
||||
#endif
|
||||
#if PHY_USE_FEM_LNA
|
||||
phy_gpiote_configure(PHY_GPIOTE_FEM_LNA, MYNEWT_VAL(BLE_LL_FEM_LNA_GPIO));
|
||||
phy_gpiote_configure(PHY_GPIOTE_FEM_LNA, MYNEWT_VAL(BLE_FEM_LNA_GPIO));
|
||||
NRF_GPIOTE->TASKS_CLR[PHY_GPIOTE_FEM_LNA] = 1;
|
||||
#endif
|
||||
#endif /* PHY_USE_FEM_SINGLE_GPIO */
|
||||
@@ -112,7 +112,7 @@ phy_fem_init(void)
|
||||
void
|
||||
phy_fem_enable_pa(void)
|
||||
{
|
||||
ble_ll_fem_pa_enable();
|
||||
ble_fem_pa_enable();
|
||||
|
||||
#if !PHY_USE_FEM_SINGLE_GPIO
|
||||
/* Switch FEM channels to control PA */
|
||||
@@ -128,7 +128,7 @@ phy_fem_enable_pa(void)
|
||||
void
|
||||
phy_fem_enable_lna(void)
|
||||
{
|
||||
ble_ll_fem_lna_enable();
|
||||
ble_fem_lna_enable();
|
||||
|
||||
#if !PHY_USE_FEM_SINGLE_GPIO
|
||||
/* Switch FEM channels to control LNA */
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
#include <stdint.h>
|
||||
#include <nrfx.h>
|
||||
#include <controller/ble_ll_fem.h>
|
||||
#include <controller/ble_fem.h>
|
||||
#include "../phy_priv.h"
|
||||
|
||||
#if PHY_USE_DEBUG
|
||||
@@ -81,9 +81,9 @@ phy_fem_init()
|
||||
|
||||
#if PHY_USE_FEM_SINGLE_GPIO
|
||||
#if PHY_USE_FEM_PA
|
||||
phy_gpiote_configure(PHY_GPIOTE_FEM, MYNEWT_VAL(BLE_LL_FEM_PA_GPIO));
|
||||
phy_gpiote_configure(PHY_GPIOTE_FEM, MYNEWT_VAL(BLE_FEM_PA_GPIO));
|
||||
#else
|
||||
phy_gpiote_configure(PHY_GPIOTE_FEM, MYNEWT_VAL(BLE_LL_FEM_LNA_GPIO));
|
||||
phy_gpiote_configure(PHY_GPIOTE_FEM, MYNEWT_VAL(BLE_FEM_LNA_GPIO));
|
||||
#endif
|
||||
NRF_GPIOTE->SUBSCRIBE_SET[PHY_GPIOTE_FEM] =
|
||||
DPPI_CH_UNSUB(TIMER0_EVENTS_COMPARE_2);
|
||||
@@ -92,7 +92,7 @@ phy_fem_init()
|
||||
NRF_GPIOTE->TASKS_CLR[PHY_GPIOTE_FEM] = 1;
|
||||
#else
|
||||
#if PHY_USE_FEM_PA
|
||||
phy_gpiote_configure(PHY_GPIOTE_FEM_PA, MYNEWT_VAL(BLE_LL_FEM_PA_GPIO));
|
||||
phy_gpiote_configure(PHY_GPIOTE_FEM_PA, MYNEWT_VAL(BLE_FEM_PA_GPIO));
|
||||
NRF_GPIOTE->SUBSCRIBE_SET[PHY_GPIOTE_FEM_PA] =
|
||||
DPPI_CH_UNSUB(TIMER0_EVENTS_COMPARE_2);
|
||||
NRF_GPIOTE->SUBSCRIBE_CLR[PHY_GPIOTE_FEM_PA] =
|
||||
@@ -100,7 +100,7 @@ phy_fem_init()
|
||||
NRF_GPIOTE->TASKS_CLR[PHY_GPIOTE_FEM_PA] = 1;
|
||||
#endif
|
||||
#if PHY_USE_FEM_LNA
|
||||
phy_gpiote_configure(PHY_GPIOTE_FEM_LNA, MYNEWT_VAL(BLE_LL_FEM_LNA_GPIO));
|
||||
phy_gpiote_configure(PHY_GPIOTE_FEM_LNA, MYNEWT_VAL(BLE_FEM_LNA_GPIO));
|
||||
NRF_GPIOTE->SUBSCRIBE_SET[PHY_GPIOTE_FEM_LNA] =
|
||||
DPPI_CH_UNSUB(TIMER0_EVENTS_COMPARE_2);
|
||||
NRF_GPIOTE->SUBSCRIBE_CLR[PHY_GPIOTE_FEM_LNA] =
|
||||
@@ -115,7 +115,7 @@ phy_fem_init()
|
||||
void
|
||||
phy_fem_enable_pa(void)
|
||||
{
|
||||
ble_ll_fem_pa_enable();
|
||||
ble_fem_pa_enable();
|
||||
|
||||
#if PHY_USE_FEM_SINGLE_GPIO
|
||||
NRF_GPIOTE->SUBSCRIBE_SET[PHY_GPIOTE_FEM] =
|
||||
@@ -129,7 +129,7 @@ phy_fem_enable_pa(void)
|
||||
void
|
||||
phy_fem_enable_lna(void)
|
||||
{
|
||||
ble_ll_fem_lna_enable();
|
||||
ble_fem_lna_enable();
|
||||
|
||||
#if PHY_USE_FEM_SINGLE_GPIO
|
||||
NRF_GPIOTE->SUBSCRIBE_SET[PHY_GPIOTE_FEM] =
|
||||
|
||||
@@ -29,13 +29,13 @@
|
||||
#define PHY_USE_DEBUG_3 (MYNEWT_VAL(BLE_PHY_DBG_TIME_WFR_PIN) >= 0)
|
||||
#define PHY_USE_DEBUG (PHY_USE_DEBUG_1 || PHY_USE_DEBUG_2 || PHY_USE_DEBUG_3)
|
||||
|
||||
#define PHY_USE_FEM_PA (MYNEWT_VAL(BLE_LL_FEM_PA) != 0)
|
||||
#define PHY_USE_FEM_LNA (MYNEWT_VAL(BLE_LL_FEM_LNA) != 0)
|
||||
#define PHY_USE_FEM_PA (MYNEWT_VAL(BLE_FEM_PA) != 0)
|
||||
#define PHY_USE_FEM_LNA (MYNEWT_VAL(BLE_FEM_LNA) != 0)
|
||||
#define PHY_USE_FEM (PHY_USE_FEM_PA || PHY_USE_FEM_LNA)
|
||||
#define PHY_USE_FEM_SINGLE_GPIO \
|
||||
(PHY_USE_FEM && (!PHY_USE_FEM_PA || !PHY_USE_FEM_LNA || \
|
||||
(MYNEWT_VAL(BLE_LL_FEM_PA_GPIO) == \
|
||||
MYNEWT_VAL(BLE_LL_FEM_LNA_GPIO))))
|
||||
(MYNEWT_VAL(BLE_FEM_PA_GPIO) == \
|
||||
MYNEWT_VAL(BLE_FEM_LNA_GPIO))))
|
||||
|
||||
/* GPIOTE indexes, start assigning from last one */
|
||||
#define PHY_GPIOTE_DEBUG_1 (8 - PHY_USE_DEBUG_1)
|
||||
|
||||
@@ -56,5 +56,5 @@ syscfg.defs:
|
||||
syscfg.restrictions:
|
||||
# code supports turn on times up to 90us due to some optimizations, but it
|
||||
# should be enough for most (all?) cases
|
||||
- "!BLE_LL_FEM_PA || BLE_LL_FEM_PA_TURN_ON_US <= 90"
|
||||
- "!BLE_LL_FEM_LNA || BLE_LL_FEM_LNA_TURN_ON_US <= 90"
|
||||
- "!BLE_FEM_PA || BLE_FEM_PA_TURN_ON_US <= 90"
|
||||
- "!BLE_FEM_LNA || BLE_FEM_LNA_TURN_ON_US <= 90"
|
||||
|
||||
Reference in New Issue
Block a user