summaryrefslogtreecommitdiff
path: root/src/libs/mynewt-nimble/nimble/controller/syscfg.yml
diff options
context:
space:
mode:
authorJF <jf@codingfield.com>2020-05-17 10:29:13 +0200
committerGitea <gitea@fake.local>2020-05-17 10:29:13 +0200
commit8a94750e30399bfb204cbec59a769d9d1b6b5baa (patch)
tree8a1a58beae54e238d28aff116c900f3b428b7db4 /src/libs/mynewt-nimble/nimble/controller/syscfg.yml
parent86d5732b960fbe7f81ed711b2de7e6b79293c96a (diff)
parentbe1ad9b07083e656a649d223750ff4b14b781b7b (diff)
Merge branch 'develop' of JF/PineTime into master
Diffstat (limited to 'src/libs/mynewt-nimble/nimble/controller/syscfg.yml')
-rw-r--r--src/libs/mynewt-nimble/nimble/controller/syscfg.yml434
1 files changed, 434 insertions, 0 deletions
diff --git a/src/libs/mynewt-nimble/nimble/controller/syscfg.yml b/src/libs/mynewt-nimble/nimble/controller/syscfg.yml
new file mode 100644
index 00000000..85049cb0
--- /dev/null
+++ b/src/libs/mynewt-nimble/nimble/controller/syscfg.yml
@@ -0,0 +1,434 @@
+# 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
+
+ # Sleep clock accuracy (sca). This is the amount of drift in the system
+ # during when the device is sleeping (in parts per million).
+ #
+ # NOTE: 'the' master sca is an enumerated value based on the sca. Rather
+ # than have a piece of code calculate this value, the developer must set
+ # this value based on the value of the SCA using the following table:
+ #
+ # SCA between 251 and 500 ppm (inclusive); master sca = 0
+ # SCA between 151 and 250 ppm (inclusive); master sca = 1
+ # SCA between 101 and 150 ppm (inclusive); master sca = 2
+ # SCA between 76 and 100 ppm (inclusive); master sca = 3
+ # SCA between 51 and 75 ppm (inclusive); master sca = 4
+ # SCA between 31 and 50 ppm (inclusive); master sca = 5
+ # SCA between 21 and 30 ppm (inclusive); master sca = 6
+ # SCA between 0 and 20 ppm (inclusive); master sca = 7
+ #
+ # For example:
+ # if your clock drift is 101 ppm, your master should be set to 2.
+ # if your clock drift is 20, your master sca should be set to 7.
+ #
+ # The values provided below are merely meant to be an example and should
+ # be replaced by values appropriate for your platform.
+ BLE_LL_OUR_SCA:
+ description: 'The system clock accuracy of the device.'
+ value: '60' # in ppm
+
+ BLE_LL_MASTER_SCA:
+ description: 'Enumerated value based on our sca'
+ value: '4'
+
+ 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_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
+
+# 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
+
+
+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