447 lines
17 KiB
YAML
447 lines
17 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:
|
|
description: >
|
|
Indicates that NimBLE controller is present. The default value for
|
|
this setting shall not be overriden.
|
|
value: 1
|
|
|
|
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: MYNEWT_VAL(BLE_LL_OUR_SCA)
|
|
range: 0..500
|
|
|
|
BLE_LL_TX_PWR_DBM:
|
|
description: 'Transmit power level.'
|
|
value: '0'
|
|
|
|
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_MFRG_ID:
|
|
description: >
|
|
Manufacturer ID. Should be set to unique ID per manufacturer.
|
|
value: '0xFFFF'
|
|
|
|
# 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'
|
|
|
|
# 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. If this is set to a value greater than 27,
|
|
the controller will automatically attempt to do the
|
|
data length update procedure. The host can always tell
|
|
the controller to update this value.
|
|
value: '27'
|
|
|
|
# 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'
|
|
|
|
# Strict scheduling
|
|
BLE_LL_STRICT_CONN_SCHEDULING:
|
|
description: >
|
|
Forces the scheduler on a central to schedule connections in fixed
|
|
time intervals called periods. If set to 0, the scheduler is not forced
|
|
to do this. If set to 1, the scheduler will only schedule connections at
|
|
period boundaries. See comments in ble_ll_sched.h for more details.
|
|
value: '0'
|
|
|
|
BLE_LL_ADD_STRICT_SCHED_PERIODS:
|
|
description: >
|
|
The number of additional periods that will be allocated for strict
|
|
scheduling. The total # of periods allocated for strict scheduling
|
|
will be equal to the number of connections plus this number.
|
|
value: '0'
|
|
|
|
BLE_LL_USECS_PER_PERIOD:
|
|
description: >
|
|
The number of usecs per period.
|
|
value: '3250'
|
|
|
|
# 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: MYNEWT_VAL(BLE_XTAL_SETTLE_TIME)
|
|
|
|
# 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: '1'
|
|
|
|
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: '1'
|
|
|
|
BLE_LL_CFG_FEAT_SLAVE_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: '1'
|
|
|
|
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: '1'
|
|
|
|
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: '0'
|
|
|
|
BLE_LL_CFG_FEAT_LE_CODED_PHY:
|
|
description: >
|
|
This option is used to enable/disable support for the coded PHY.
|
|
value: '0'
|
|
|
|
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 use to enable/disable support for Periodic
|
|
Advertising Sync Transfer Feature.
|
|
value: MYNEWT_VAL(BLE_PERIODIC_ADV_SYNC_TRANSFER)
|
|
|
|
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
|
|
|
|
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_ISO:
|
|
description: >
|
|
This option is used to enable/disable support for LE Isochronous Channels
|
|
as per Bluetooth v5.2 channels
|
|
value: MYNEWT_VAL(BLE_ISO)
|
|
restrictions:
|
|
- '(BLE_VERSION >= 52) if 1'
|
|
|
|
BLE_LL_CFG_FEAT_LL_ISO_TEST:
|
|
description: >
|
|
This option is used to enable/disbale test commands for ISO support
|
|
value: MYNEWT_VAL(BLE_ISO_TEST)
|
|
restrictions:
|
|
- 'BLE_LL_CFG_FEAT_LL_ISO if 1'
|
|
|
|
BLE_LL_EXT_ADV_AUX_PTR_CNT:
|
|
description: >
|
|
This option configure a max number of scheduled outstanding auxiliary
|
|
packets for receive on secondary advertising channel.
|
|
value: 0
|
|
|
|
BLE_PUBLIC_DEV_ADDR:
|
|
description: >
|
|
Allows the target or app to override the public device address
|
|
used by the controller. If all zero, the controller will
|
|
attempt to retrieve the public device address from its
|
|
chip specific location. If non-zero, this address will
|
|
be used.
|
|
value: "(uint8_t[6]){0x00, 0x00, 0x00, 0x00, 0x00, 0x00}"
|
|
|
|
BLE_LL_DTM:
|
|
description: >
|
|
Enables HCI Test commands needed for Bluetooth SIG certification
|
|
value: MYNEWT_VAL(BLE_LL_DIRECT_TEST_MODE)
|
|
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_VND_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_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_CB:
|
|
description: >
|
|
GPIO pin number to debug scheduler item execution times. Pin is set
|
|
to high state while item is executed.
|
|
value: -1
|
|
|
|
# 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
|
|
|
|
# deprecated settings (to be defunct/removed eventually)
|
|
BLE_LL_DIRECT_TEST_MODE:
|
|
description: use BLE_LL_DTM instead
|
|
value: 0
|
|
deprecated: 1
|
|
BLE_XTAL_SETTLE_TIME:
|
|
description: use BLE_LL_RFMGMT_ENABLE_TIME instead
|
|
value: 0
|
|
deprecated: 1
|
|
BLE_LL_OUR_SCA:
|
|
description: use BLE_LL_SCA instead
|
|
value: 60
|
|
deprecated: 1
|
|
|
|
# defunct settings (to be removed eventually)
|
|
BLE_DEVICE:
|
|
description: Superseded by BLE_CONTROLLER
|
|
value: 1
|
|
defunct: 1
|
|
BLE_LP_CLOCK:
|
|
description: Superseded by BLE_CONTROLLER
|
|
value: 1
|
|
defunct: 1
|
|
BLE_NUM_COMP_PKT_RATE:
|
|
description: Superseded by BLE_LL_NUM_COMP_PKT_ITVL_MS
|
|
value: '(2 * OS_TICKS_PER_SEC)'
|
|
defunct: 1
|
|
BLE_LL_MASTER_SCA:
|
|
description: use BLE_LL_SCA instead
|
|
value: 4
|
|
defunct: 1
|
|
|
|
|
|
syscfg.vals.BLE_LL_CFG_FEAT_LL_EXT_ADV:
|
|
BLE_LL_CFG_FEAT_LE_CSA2: 1
|
|
BLE_HW_WHITELIST_ENABLE: 0
|
|
BLE_LL_EXT_ADV_AUX_PTR_CNT: 5
|
|
|
|
# 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:
|
|
BLE_LL_VND_EVENT_ON_ASSERT: 1
|
|
|
|
syscfg.restrictions:
|
|
- OS_CPUTIME_FREQ == 32768
|