| # 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) |
| restrictions: |
| - 'BLE_LL_CFG_FEAT_LL_EXT_ADV if 1' |
| |
| 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 |