mirror of
https://github.com/espressif/esp-nimble.git
synced 2026-11-04 11:32:47 +00:00
So far TinyCRYPT library was used in LL crypto but it is no longer being maintained. This converts code to use Mbed TLS instead.
700 lines
28 KiB
YAML
700 lines
28 KiB
YAML
# Licensed to the Apache Software Foundation (ASF) under one
|
|
# or more contributor license agreements. See the NOTICE file
|
|
# distributed with this work for additional information
|
|
# regarding copyright ownership. The ASF licenses this file
|
|
# to you under the Apache License, Version 2.0 (the
|
|
# "License"); you may not use this file except in compliance
|
|
# with the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing,
|
|
# software distributed under the License is distributed on an
|
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
# KIND, either express or implied. See the License for the
|
|
# specific language governing permissions and limitations
|
|
# under the License.
|
|
#
|
|
|
|
syscfg.defs:
|
|
BLE_CONTROLLER: 1
|
|
|
|
BLE_LL_ROLE_CENTRAL:
|
|
description: 'Enables controller support for the Central role.'
|
|
value: MYNEWT_VAL(BLE_ROLE_CENTRAL)
|
|
restrictions:
|
|
- 'BLE_LL_ROLE_OBSERVER if 1'
|
|
|
|
BLE_LL_ROLE_PERIPHERAL:
|
|
description: 'Enables controller support for the Peripheral role.'
|
|
value: MYNEWT_VAL(BLE_ROLE_PERIPHERAL)
|
|
restrictions:
|
|
- 'BLE_LL_ROLE_BROADCASTER if 1'
|
|
|
|
BLE_LL_ROLE_BROADCASTER:
|
|
description: 'Enables controller support for the Broadcaster role.'
|
|
value: MYNEWT_VAL(BLE_ROLE_BROADCASTER)
|
|
restrictions:
|
|
- 'BLE_LL_ROLE_OBSERVER if 0'
|
|
|
|
BLE_LL_ROLE_OBSERVER:
|
|
description: 'Enables controller support for the Observer role.'
|
|
value: MYNEWT_VAL(BLE_ROLE_OBSERVER)
|
|
restrictions:
|
|
- 'BLE_LL_ROLE_BROADCASTER if 0'
|
|
|
|
BLE_HW_WHITELIST_ENABLE:
|
|
description: >
|
|
Used to enable hardware white list
|
|
value: 1
|
|
|
|
BLE_LL_SYSVIEW:
|
|
description: >
|
|
Enable SystemView tracing module for controller.
|
|
value: 0
|
|
|
|
BLE_LL_PRIO:
|
|
description: 'The priority of the LL task'
|
|
type: 'task_priority'
|
|
value: 0
|
|
|
|
BLE_LL_SCA:
|
|
description: Sleep clock accuracy of our device (in ppm)
|
|
value: 60
|
|
range: 0..500
|
|
|
|
BLE_LL_TX_PWR_DBM:
|
|
description: >
|
|
Default Transmit power level (in dBm). Actual transmit power
|
|
may be rounded up or down depending on used radio.
|
|
value: '0'
|
|
|
|
BLE_LL_TX_PWR_MAX_DBM:
|
|
description: >
|
|
Maximum allowed transmit power level (in dBm). This limits maximum
|
|
power to specified value (including FEM and/or host compensation).
|
|
Useful for ensuring selected power class of device. Defaults to
|
|
maximum allowed by specification (Power Class 1).
|
|
value: '20'
|
|
|
|
BLE_LL_NUM_COMP_PKT_ITVL_MS:
|
|
description: >
|
|
Determines the interval at which the controller will send the
|
|
number of completed packets event to the host. Rate is in milliseconds.
|
|
value: 2000
|
|
|
|
BLE_LL_MANUFACTURER_ID:
|
|
description: >
|
|
Manufacturer ID, as assigned by Bluetooth SIG
|
|
value: 0x0B65
|
|
|
|
# Configuration items for the number of duplicate advertisers and the
|
|
# number of advertisers from which we have heard a scan response.
|
|
BLE_LL_NUM_SCAN_DUP_ADVS:
|
|
description: 'The number of duplicate advertisers stored.'
|
|
value: '8'
|
|
BLE_LL_NUM_SCAN_RSP_ADVS:
|
|
description: >
|
|
The number of advertisers from which we have heard a scan
|
|
response. Prevents sending duplicate events to host.
|
|
value: '8'
|
|
|
|
BLE_LL_WHITELIST_SIZE:
|
|
description: 'Size of the LL whitelist.'
|
|
value: '8'
|
|
|
|
BLE_LL_RESOLV_LIST_SIZE:
|
|
description: 'Size of the resolving list.'
|
|
value: '4'
|
|
|
|
BLE_LL_CONN_PHY_DEFAULT_PREF_MASK:
|
|
description: >
|
|
Default PHY preference mask used if no HCI LE Set Preferred PHY
|
|
was received.
|
|
value: 0x07
|
|
BLE_LL_CONN_PHY_PREFER_2M:
|
|
description: >
|
|
If enabled, LL will always attempt to switch to 2M PHY if present
|
|
in preferred mask even if active PHY is also allowed by that mask.
|
|
Otherwise LL will not attempt to switch PHY as long as active PHY
|
|
is present in preferred mask.
|
|
value: 0
|
|
BLE_LL_CONN_PHY_INIT_UPDATE:
|
|
description: >
|
|
If enabled, LL will attempt to switch PHY (depending on preferences
|
|
mask set) after connection was established.
|
|
value: 0
|
|
|
|
# Data length management definitions for connections. These define the
|
|
# maximum size of the PDU's that will be sent and/or received in a
|
|
# connection.
|
|
BLE_LL_MAX_PKT_SIZE:
|
|
description: 'The maximum PDU size that can be sent/received'
|
|
value: '251'
|
|
BLE_LL_SUPP_MAX_RX_BYTES:
|
|
description: 'The maximum supported received PDU size'
|
|
value: MYNEWT_VAL(BLE_LL_MAX_PKT_SIZE)
|
|
BLE_LL_SUPP_MAX_TX_BYTES:
|
|
description: 'The maximum supported transmit PDU size'
|
|
value: MYNEWT_VAL(BLE_LL_MAX_PKT_SIZE)
|
|
BLE_LL_CONN_INIT_MAX_TX_BYTES:
|
|
description: >
|
|
Used to set the initial maximum transmit PDU size in a
|
|
connection. The host can always tell the controller to update this
|
|
value.
|
|
value: '27'
|
|
BLE_LL_CONN_INIT_AUTO_DLE:
|
|
description: >
|
|
If BLE_LL_CONN_INIT_MAX_TX_BYTES is set to value greater than 27
|
|
controller will automatically attempt to do the data length update
|
|
procedure.
|
|
value: 1
|
|
|
|
# The number of slots that will be allocated to each connection
|
|
BLE_LL_CONN_INIT_SLOTS:
|
|
description: >
|
|
This is the number of "slots" allocated to a connection when scheduling
|
|
connections. Each slot is 1.25 msecs long. Note that a connection event may
|
|
last longer than the number of slots allocated here and may also end earlier
|
|
(depending on when the next scheduled event occurs and how much data needs
|
|
to be transferred in the connection). However, you will be guaranteed that
|
|
a connection event will be given this much time, if needed. Consecutively
|
|
scheduled items will be at least this far apart
|
|
value: '4'
|
|
|
|
BLE_LL_CONN_INIT_MIN_WIN_OFFSET:
|
|
description: >
|
|
This is the minimum number of "slots" for WindowOffset value used for
|
|
CONNECT_IND when creating new connection as a master. Each slot is 1.25
|
|
msecs long. Increasing this value will delay first connection event after
|
|
connection is created. However, older TI CC254x controllers cannot change
|
|
connection parameters later if WindowOffset was set to 0 in CONNECT_IND. To
|
|
ensure interoperability with such devices set this value to 2 (or more).
|
|
value: '0'
|
|
|
|
BLE_LL_CONN_STRICT_SCHED:
|
|
description: >
|
|
Enable connection strict scheduling (css).
|
|
In css mode, connections in central role are scheduled in fixed time
|
|
intervals called periods. Each period is divided into an arbitrary
|
|
number of slots and each connection anchor point is always scheduled
|
|
at slot boundary. This means (assuming only central connections are
|
|
active) it's possible to reliably schedule up to number-of-slots
|
|
connections each at period-duration interval, each connection will
|
|
be allocated at least one slot in each connection event.
|
|
value: 0
|
|
BLE_LL_CONN_STRICT_SCHED_FIXED:
|
|
description: >
|
|
Enable fixed mode for connection strict scheduling, i.e. slot duration
|
|
and slots per period values are fixed to syscfg values and cannot
|
|
be changed in runtime. This allows for some compile-time optimizations.
|
|
value: 0
|
|
BLE_LL_CONN_STRICT_SCHED_SLOT_US:
|
|
description: >
|
|
Slot duration in microseconds. Shall be multiply of 1250us.
|
|
value: 3750
|
|
BLE_LL_CONN_STRICT_SCHED_PERIOD_SLOTS:
|
|
description: >
|
|
Number of slots per period. Duration of slot determines connection
|
|
interval used for each connection in central role.
|
|
value: 8
|
|
|
|
# The number of random bytes to store
|
|
BLE_LL_RNG_BUFSIZE:
|
|
description: >
|
|
The number of random bytes that the link layer will try to
|
|
always have available for the host to use. Decreasing this
|
|
value may cause host delays if the host needs lots of random
|
|
material often.
|
|
value: '32'
|
|
|
|
BLE_LL_RFMGMT_ENABLE_TIME:
|
|
description: >
|
|
Time required for radio and/or related components to be fully
|
|
enabled before any request from LL is sent. This value is used
|
|
by rfmgmt to enable PHY in advance, before request from LL is
|
|
made. It depends on radio driver selected and may also depend
|
|
on hardware used:
|
|
- nrf51 - time required for XTAL to settle
|
|
- nrf52 - time required for XTAL to settle
|
|
Value is specified in microseconds. If set to 0, rfmgmt keeps
|
|
PHY enabled all the time.
|
|
value: 0
|
|
|
|
BLE_LL_HCI_LLCP_TRACE:
|
|
description: >
|
|
Enables LLCP tracing using HCI vendor-specific events.
|
|
value: '0'
|
|
|
|
# Configuration for LL supported features.
|
|
#
|
|
# There are a total 8 features that the LL can support. These can be found
|
|
# in v4.2, Vol 6 Part B Section 4.6.
|
|
#
|
|
# These feature definitions are used to inform a host or other controller
|
|
# about the LL features supported by the controller.
|
|
#
|
|
# NOTE: 'the' controller always supports extended reject indicate and thus
|
|
# is not listed here.
|
|
|
|
|
|
BLE_LL_CFG_FEAT_LE_ENCRYPTION:
|
|
description: >
|
|
This option enables/disables encryption support in the controller.
|
|
This option saves both both code and RAM.
|
|
value: 'MYNEWT_VAL_BLE_LL_ROLE_CENTRAL || MYNEWT_VAL_BLE_LL_ROLE_PERIPHERAL || MYNEWT_VAL_BLE_LL_ISO'
|
|
|
|
BLE_LL_CFG_FEAT_CONN_PARAM_REQ:
|
|
description: >
|
|
This option enables/disables the connection parameter request
|
|
procedure. This is implemented in the controller but is disabled
|
|
by default.
|
|
value: 'MYNEWT_VAL_BLE_LL_ROLE_CENTRAL || MYNEWT_VAL_BLE_LL_ROLE_PERIPHERAL'
|
|
|
|
BLE_LL_CFG_FEAT_PERIPH_INIT_FEAT_XCHG:
|
|
description: >
|
|
This option allows a slave to initiate the feature exchange
|
|
procedure. This feature is implemented but currently has no impact
|
|
on code or ram size
|
|
value: 'MYNEWT_VAL_BLE_LL_ROLE_CENTRAL || MYNEWT_VAL_BLE_LL_ROLE_PERIPHERAL'
|
|
|
|
BLE_LL_CFG_FEAT_LE_PING:
|
|
description: >
|
|
This option allows a controller to send/receive LE pings.
|
|
Currently, this feature is not implemented by the controller so
|
|
turning it on or off has no effect.
|
|
value: 'MYNEWT_VAL_BLE_LL_CFG_FEAT_LE_ENCRYPTION'
|
|
|
|
BLE_LL_CFG_FEAT_DATA_LEN_EXT:
|
|
description: >
|
|
This option enables/disables the data length update procedure in
|
|
the controller. If enabled, the controller is allowed to change the
|
|
size of tx/rx pdu's used in a connection. This option has only
|
|
minor impact on code size and non on RAM.
|
|
value: 'MYNEWT_VAL_BLE_LL_ROLE_CENTRAL || MYNEWT_VAL_BLE_LL_ROLE_PERIPHERAL'
|
|
|
|
BLE_LL_CFG_FEAT_LL_PRIVACY:
|
|
description: >
|
|
This option is used to enable/disable LL privacy.
|
|
value: '1'
|
|
|
|
BLE_LL_CFG_FEAT_LE_CSA2:
|
|
description: >
|
|
This option is used to enable/disable support for LE Channel
|
|
Selection Algorithm #2.
|
|
value: '0'
|
|
|
|
BLE_LL_CFG_FEAT_LE_2M_PHY:
|
|
description: >
|
|
This option is used to enable/disable support for the 2Mbps PHY.
|
|
value: MYNEWT_VAL(BLE_PHY_2M)
|
|
|
|
BLE_LL_CFG_FEAT_LE_CODED_PHY:
|
|
description: >
|
|
This option is used to enable/disable support for the coded PHY.
|
|
value: MYNEWT_VAL(BLE_PHY_CODED)
|
|
|
|
BLE_LL_CFG_FEAT_LL_EXT_ADV:
|
|
description: >
|
|
This option is used to enable/disable support for Extended
|
|
Advertising Feature. That means extended scanner, advertiser
|
|
and connect.
|
|
value: MYNEWT_VAL(BLE_EXT_ADV)
|
|
|
|
BLE_LL_CFG_FEAT_LL_PERIODIC_ADV:
|
|
description: >
|
|
This option is used to enable/disable support for Periodic
|
|
Advertising Feature.
|
|
value: MYNEWT_VAL(BLE_PERIODIC_ADV)
|
|
|
|
BLE_LL_CFG_FEAT_LL_PERIODIC_ADV_SYNC_CNT:
|
|
description: >
|
|
This option is used to configure number of supported periodic syncs.
|
|
value: MYNEWT_VAL(BLE_MAX_PERIODIC_SYNCS)
|
|
|
|
BLE_LL_CFG_FEAT_LL_PERIODIC_ADV_SYNC_LIST_CNT:
|
|
description: >
|
|
Size of Periodic Advertiser sync list.
|
|
value: MYNEWT_VAL(BLE_MAX_PERIODIC_SYNCS)
|
|
|
|
BLE_LL_CFG_FEAT_LL_PERIODIC_ADV_SYNC_TRANSFER:
|
|
description: >
|
|
This option is used to enable/disable support for Periodic
|
|
Advertising Sync Transfer Feature.
|
|
value: MYNEWT_VAL(BLE_PERIODIC_ADV_SYNC_TRANSFER)
|
|
|
|
BLE_LL_CFG_FEAT_LL_PERIODIC_ADV_ADI_SUPPORT:
|
|
description: >
|
|
This option is used to enable/disable support for Periodic
|
|
Advertising ADI.
|
|
value: 0
|
|
restrictions:
|
|
- '(BLE_VERSION >= 53) if 1'
|
|
- '(BLE_LL_CFG_FEAT_LL_PERIODIC_ADV == 1)'
|
|
|
|
BLE_LL_CFG_FEAT_CTRL_TO_HOST_FLOW_CONTROL:
|
|
description: >
|
|
Enable controller-to-host flow control support. This allows host to
|
|
limit number of ACL packets sent at once from controller to avoid
|
|
congestion on HCI transport if feature is also supported by host.
|
|
value: 0
|
|
restrictions:
|
|
- '(BLE_ROLE_CENTRAL || BLE_ROLE_PERIPHERAL) if 1'
|
|
|
|
BLE_LL_CFG_FEAT_LL_SCA_UPDATE:
|
|
description: >
|
|
This option is used to enable/disable support for SCA update procedure
|
|
value: 0
|
|
restrictions:
|
|
- '(BLE_VERSION >= 52) if 1'
|
|
|
|
BLE_LL_CFG_FEAT_LL_ENHANCED_CONN_UPDATE:
|
|
description: >
|
|
Enables support LE Enhanced Connection Update.
|
|
This allows to use Conenction Subrate Update and Connection Subrate
|
|
Request procedures to modify subrate paramters for a connection.
|
|
value: MYNEWT_VAL(BLE_CONN_SUBRATING)
|
|
restrictions:
|
|
- '(BLE_VERSION >= 53) if 1'
|
|
|
|
BLE_LL_ADV_CODING_SELECTION:
|
|
description: >
|
|
Enables support Advertising Coding Selection.
|
|
value: 0
|
|
restrictions:
|
|
- '(BLE_VERSION >= 54) if 1'
|
|
|
|
BLE_LL_PERIODIC_ADV_SYNC_BIGINFO_REPORTS:
|
|
description: >
|
|
This option is used to enable/disable support for
|
|
handling BIGInfo data
|
|
value: MYNEWT_VAL(BLE_PERIODIC_ADV_SYNC_BIGINFO_REPORTS)
|
|
experimental: 1
|
|
|
|
BLE_LL_SCAN_AUX_SEGMENT_CNT:
|
|
description: >
|
|
Number of auxiliary advertising segments that can be scanned
|
|
concurrently (Core 5.2, Vol 6, Part B, 4.4.2.2.2).
|
|
value: 0
|
|
|
|
BLE_LL_SCAN_ACTIVE_SCAN_NRPA:
|
|
description: >
|
|
The controller will automatically generate NRPA for scan requests
|
|
if host requested to use privacy (i.e. 0x02 or 0x03 own address
|
|
type) but the peer is not on the resolving list.
|
|
If disabled, public or random address will be used.
|
|
value: MYNEWT_VAL(BLE_LL_CFG_FEAT_LL_PRIVACY)
|
|
restrictions:
|
|
- BLE_LL_CFG_FEAT_LL_PRIVACY if 1
|
|
|
|
BLE_LL_PUBLIC_DEV_ADDR:
|
|
description: >
|
|
Set public device address. Address is specified as 48-bit number.
|
|
If non-zero, this setting has priority over BLE_PUBLIC_DEV_ADDR.
|
|
Note: this setting should only be used for testing purposes, it is
|
|
not intended for production builds.
|
|
value: 0x000000000000
|
|
|
|
BLE_LL_DTM:
|
|
description: >
|
|
Enables HCI Test commands needed for Bluetooth SIG certification
|
|
value: 0
|
|
BLE_LL_DTM_EXTENSIONS:
|
|
description: >
|
|
Enables non-standard extensions to HCI test commands. Once enabled,
|
|
HCI_LE_Transmitter_Test accepts extra parameters in addition to
|
|
those defined in Core specification
|
|
interval (2 octets) interval between packets (usecs), overrides
|
|
standard interval
|
|
pkt_count (2 octets) number of packets to transmit, controller
|
|
will automatically stop sending packets
|
|
after given number of packets was sent
|
|
Setting either of these parameters to 0 will configure for default
|
|
behavior, as per Core specification.
|
|
If specified interval is shorter then allowed by specification it
|
|
will be ignored.
|
|
Extended parameters shall immediately follow standard parameters.
|
|
Controller can accept both standard and extended version of command
|
|
depending on specified HCI command length.
|
|
value: 0
|
|
|
|
BLE_LL_HCI_VS:
|
|
description: >
|
|
Enables support for vendor-specific HCI commands.
|
|
value: MYNEWT_VAL(BLE_HCI_VS)
|
|
BLE_LL_HCI_VS_CONN_STRICT_SCHED:
|
|
description: >
|
|
Enable HCI commands to control connection strict scheduling.
|
|
value: 0
|
|
restrictions:
|
|
- BLE_LL_HCI_VS if 1
|
|
BLE_LL_HCI_VS_LOCAL_IRK:
|
|
description: >
|
|
Enables HCI command to set local IRK.
|
|
The local IRK is used by controller to generate RPA address in case
|
|
own address type 0x02 or 0x03 was requested by host but there is no
|
|
corresponding entry on resolving list. This allows to handle privacy
|
|
scenarios almost entirely in controller. If no local IRK is set, the
|
|
controller behaves as if feature is not enabled.
|
|
value: 0
|
|
restrictions:
|
|
- BLE_LL_HCI_VS if 1
|
|
BLE_LL_HCI_VS_SET_SCAN_CFG:
|
|
description: >
|
|
Enables HCI command to set global PDU filter for scanner.
|
|
It allows:
|
|
- ignoring extended or legacy PDUs while scanning,
|
|
- setting minimal RSSI filter on primary channel
|
|
value: 0
|
|
restrictions:
|
|
- BLE_LL_HCI_VS if 1
|
|
- BLE_LL_CFG_FEAT_LL_EXT_ADV if 1
|
|
- BLE_LL_ROLE_OBSERVER if 1
|
|
|
|
|
|
BLE_LL_HCI_VS_EVENT_ON_ASSERT:
|
|
description: >
|
|
This options enables controller to send a vendor-specific event on
|
|
an assertion in controller code. The event contains file name and
|
|
line number where assertion occured.
|
|
value: 0
|
|
|
|
BLE_FEM_PA:
|
|
description: Enable FEM PA support
|
|
value: 0
|
|
BLE_FEM_PA_GAIN:
|
|
description: PA fixed TX gain (in dBm).
|
|
value: 0
|
|
BLE_FEM_PA_GAIN_TUNABLE:
|
|
description: >
|
|
PA TX gain is tunable and not constant. If enabled
|
|
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_FEM_PA_GPIO:
|
|
description: >
|
|
GPIO pin number to control PA. Pin is set to high state when PA
|
|
should be enabled.
|
|
value: -1
|
|
BLE_FEM_PA_TURN_ON_US:
|
|
description: >
|
|
Time required for PA to turn on, in microseconds.
|
|
value: 1
|
|
BLE_FEM_LNA:
|
|
description: Enable LNA support
|
|
value: 0
|
|
BLE_FEM_LNA_GAIN:
|
|
description: LNA fixed RX gain (in dBm).
|
|
value: 0
|
|
BLE_FEM_LNA_GAIN_TUNABLE:
|
|
description: >
|
|
LNA RX gain is tunable and not constant. If enabled
|
|
ble_fem_lna_rx_gain() shall be implemented (see ble_fem.h for
|
|
details).
|
|
value: 0
|
|
BLE_FEM_LNA_GPIO:
|
|
description: >
|
|
GPIO pin number to control LNA. Pin is set to high state when LNA
|
|
should be enabled.
|
|
value: -1
|
|
BLE_FEM_LNA_TURN_ON_US:
|
|
description: >
|
|
Time required for LNA to turn on, in microseconds.
|
|
value: 1
|
|
BLE_FEM_ANTENNA:
|
|
description: >
|
|
Enable support for runtime antenna selection in FEM.
|
|
value: 0
|
|
|
|
BLE_LL_ISO:
|
|
description: >
|
|
Enable support for isochronous data.
|
|
This enables common code (e.g. ISOAL) for all types of isochronous
|
|
data, particular ISO features have to be enabled separately.
|
|
restrictions:
|
|
- (BLE_VERSION >= 52) if 1
|
|
value: MYNEWT_VAL(BLE_ISO)
|
|
state: experimental
|
|
BLE_LL_ISO_BROADCASTER:
|
|
description: >
|
|
Enable support for Isochronous Broadcasting state.
|
|
restrictions:
|
|
- BLE_LL_ISO if 1
|
|
value: 0
|
|
state: experimental
|
|
|
|
BLE_LL_ISO_HCI_FEEDBACK_INTERVAL_MS:
|
|
description: >
|
|
Enables ISO synchronization feedback using vendor-specific HCI event.
|
|
The event is sent at configured interval after completed ISO event
|
|
and contains BIG handle, number of expected SDUs per ISO interval
|
|
and difference between expected vs actual number of SDUs queued in
|
|
controller.
|
|
The expected number of SDUs queued after each event is number of
|
|
SDUs required for each ISO event (i.e. including pre-transmissions)
|
|
minus number of SDUs expected per each ISO interval.
|
|
The host can use feedback to e.g. adjust for jitter between audio
|
|
clock and LL clock.
|
|
Set to 0 to disable.
|
|
value: 0
|
|
experimental: 1
|
|
restrictions:
|
|
- BLE_LL_HCI_VS || BLE_LL_ISO_HCI_FEEDBACK_INTERVAL_MS == 0
|
|
BLE_LL_ISO_HCI_DISCARD_THRESHOLD:
|
|
description: >
|
|
Enables automatic discarding of excessive ISO SDUs to avoid exhaustion
|
|
of HCI ISO buffers in case host sends too many SDUs.
|
|
Threshold is defined as number of ISO events. If number of queued
|
|
SDUs exceeds number of SDUs required for single event (i.e. including
|
|
pre-transmissions) and number of subsequent ISO events defined by
|
|
threshold value, the controller will drop any excessive SDUs and
|
|
notify to host as if they were already sent.
|
|
Set to 0 to disable.
|
|
value: 0
|
|
experimental: 1
|
|
|
|
BLE_LL_ISOAL_MUX_PREFILL:
|
|
description: >
|
|
Waits until number of SDUs enqueued in mux is enough to fill complete
|
|
ISO event before providing data to ISO.
|
|
This is useful for pre-transmissions as it ensures that all subevents
|
|
in 1st ISO event are non-empty.
|
|
value: 0
|
|
experimental: 1
|
|
|
|
BLE_LL_CHANNEL_SOUNDING:
|
|
description: >
|
|
Enable support for Channel Sounding feature.
|
|
restrictions:
|
|
- (BLE_VERSION >= 54) if 1
|
|
value: MYNEWT_VAL(BLE_CHANNEL_SOUNDING)
|
|
state: experimental
|
|
|
|
BLE_LL_SYSINIT_STAGE:
|
|
description: >
|
|
Sysinit stage for the NimBLE controller.
|
|
value: 250
|
|
|
|
BLE_LL_DEBUG_GPIO_HCI_CMD:
|
|
description: >
|
|
GPIO pin number to debug HCI commands flow. Pin is set to high state
|
|
when HCI command is being processed.
|
|
value: -1
|
|
BLE_LL_DEBUG_GPIO_HCI_EV:
|
|
description: >
|
|
GPIO pin number to debug HCI events flow. Pin is set to high state
|
|
when HCI event is being sent.
|
|
value: -1
|
|
BLE_LL_DEBUG_GPIO_SCHED_RUN:
|
|
description: >
|
|
GPIO pin number to debug scheduler running (on timer). Pin is set
|
|
to high state while scheduler is running.
|
|
value: -1
|
|
BLE_LL_DEBUG_GPIO_SCHED_ITEM:
|
|
description: >
|
|
GPIO pin number to debug scheduler item execution times. Pin is set
|
|
to high state while item is active.
|
|
value: -1
|
|
BLE_LL_DEBUG_GPIO_RFMGMT:
|
|
description: >
|
|
GPIO pin number to debug rfmgmt activity. Pin is set to high state
|
|
while rfmgmt is active.
|
|
value: -1
|
|
|
|
BLE_LL_EXT:
|
|
description: >
|
|
Enables API to support external (i.e. non-native to LL) state for
|
|
NimBLE LL and scheduler. See ble_ll_ext.h.
|
|
experimental: 1
|
|
value: 0
|
|
# Below settings allow to change scheduler timings. These should be left at
|
|
# default values unless you know what you are doing!
|
|
BLE_LL_SCHED_AUX_MAFS_DELAY:
|
|
description: >
|
|
Additional delay [us] between last ADV_EXT_IND and AUX_ADV_IND PDUs
|
|
when scheduling extended advertising event. This extends T_MAFS.
|
|
value: 0
|
|
BLE_LL_SCHED_AUX_CHAIN_MAFS_DELAY:
|
|
description: >
|
|
Additional delay [us] between consecutive AUX_CHAIN_IND PDUs
|
|
when scheduling extended or periodic advertising event. This extends
|
|
T_MAFS.
|
|
value: 0
|
|
BLE_LL_SCHED_SCAN_AUX_PDU_LEN:
|
|
description: >
|
|
This is expected PDU len for AUX_ADV_IND and subsequent
|
|
AUX_CHAIN_IND. When scheduling scan scheduler will reserve time for
|
|
receiving this amount of time. Setting this to high value improves
|
|
reception of large PDUs but results in wasting scheduler space when
|
|
receiving small PDUs only. On the other hand too low value can
|
|
result in not being able to scan whole PDU due to being preempted
|
|
by next scheduled item. By default size matching legacy ADV_IND PDU
|
|
payload is used: ExtHeader (Flags, AdvA, ADI) + 31 bytes of data.
|
|
range: 1..257
|
|
value: 41
|
|
|
|
BLE_LL_SCHED_SCAN_SYNC_PDU_LEN:
|
|
description: >
|
|
This is expected PDU len for AUX_SYNC_IND and subsequent
|
|
AUX_CHAIN_IND. When scheduling scan scheduler will reserve time for
|
|
receiving this amount of time. Setting this to high value improves
|
|
reception of large PDUs but results in wasting scheduler space when
|
|
receiving small PDUs only. On the other hand too low value can
|
|
result in not being able to scan whole PDU due to being preempted
|
|
by next scheduled item. By default size matching PDU with legacy
|
|
data size is used: ExtHeader + 31 bytes of data.
|
|
range: 1..257
|
|
value: 32
|
|
|
|
BLE_LL_CONN_EVENT_END_MARGIN:
|
|
description: >
|
|
Extra time needed for scheduling next connection event. Setting this
|
|
value results in ending connection event sooner (in microseconds)
|
|
which gives more time to schedule next event. This value should be
|
|
tuned only after measuring performance as depends on various factors
|
|
like build optimisation, cache, clock speed etc.
|
|
value: 0
|
|
|
|
BLE_LL_EXT_ADV_ADVA_IN_AUX:
|
|
description: >
|
|
Put AdvA in AUX_ADV_IND instead of ADV_EXT_IND.
|
|
value: 1
|
|
|
|
BLE_LL_STACK_SIZE:
|
|
description: >
|
|
This is the stack size for LL task.
|
|
value: 120
|
|
|
|
syscfg.defs.'BLE_LL_CFG_FEAT_LE_2M_PHY || BLE_LL_CFG_FEAT_LE_CODED_PHY':
|
|
BLE_LL_PHY: 1
|
|
|
|
syscfg.vals.BLE_LL_CFG_FEAT_LL_EXT_ADV:
|
|
BLE_LL_CFG_FEAT_LE_CSA2: 1
|
|
BLE_HW_WHITELIST_ENABLE: 0
|
|
BLE_LL_SCAN_AUX_SEGMENT_CNT: 8
|
|
|
|
syscfg.vals.'BLE_ISO_BROADCAST_SOURCE || BLE_ISO_BROADCAST_SINK':
|
|
BLE_LL_ISO_BROADCASTER: 1
|
|
|
|
syscfg.vals.BLE_LL_ISO_BROADCASTER:
|
|
BLE_LL_CFG_FEAT_LE_ENCRYPTION: 1
|
|
BLE_LL_STACK_SIZE: 200
|
|
|
|
# Enable vendor event on assert in standalone build to make failed assertions in
|
|
# controller code visible when connected to external host
|
|
syscfg.vals.'!BLE_HOST && !BABBLESIM':
|
|
BLE_LL_HCI_VS_EVENT_ON_ASSERT: 1
|
|
|
|
syscfg.vals:
|
|
MBEDTLS_CMAC_C: 1
|
|
|
|
syscfg.restrictions:
|
|
- BLE_TRANSPORT_LL == "native"
|
|
- BLE_LL_PUBLIC_DEV_ADDR <= 0xffffffffffff
|
|
- BLE_FEM_PA == 0 || BLE_FEM_PA_GPIO >= 0
|
|
- BLE_FEM_LNA == 0 || BLE_FEM_LNA_GPIO >= 0
|
|
|
|
$import:
|
|
# "Here be dragons" settings
|
|
- "@apache-mynewt-nimble/nimble/controller/syscfg.hbd.yml"
|