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:
Szymon Janc
2022-10-03 15:22:29 +02:00
parent 24c7b00317
commit b78a7bd54b
16 changed files with 115 additions and 115 deletions
@@ -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_ */
+6 -6
View File
@@ -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"
+14 -14
View File
@@ -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);
+4 -4
View File
@@ -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
};
+4 -4
View File
@@ -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
+6 -6
View File
@@ -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
+16 -16
View File
@@ -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
+3 -3
View File
@@ -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
+8 -8
View File
@@ -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);
+2 -2
View File
@@ -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
+2 -2
View File
@@ -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)
+12 -12
View File
@@ -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;
+7 -7
View File
@@ -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 */
+7 -7
View File
@@ -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] =
+4 -4
View File
@@ -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)
+2 -2
View File
@@ -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"