1# Licensed to the Apache Software Foundation (ASF) under one 2# or more contributor license agreements. See the NOTICE file 3# distributed with this work for additional information 4# regarding copyright ownership. The ASF licenses this file 5# to you under the Apache License, Version 2.0 (the 6# "License"); you may not use this file except in compliance 7# with the License. You may obtain a copy of the License at 8# 9# http://www.apache.org/licenses/LICENSE-2.0 10# 11# Unless required by applicable law or agreed to in writing, 12# software distributed under the License is distributed on an 13# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14# KIND, either express or implied. See the License for the 15# specific language governing permissions and limitations 16# under the License. 17# 18 19syscfg.defs: 20 BLE_DEVICE: 21 description: > 22 Used by package management system to include BLE hardware 23 drivers. 24 value: 1 25 26 BLE_LP_CLOCK: 27 description: > 28 Used by BSP packages to configure LP clock for controller. 29 value: 1 30 31 BLE_HW_WHITELIST_ENABLE: 32 description: > 33 Used to enable hardware white list 34 value: 1 35 36 BLE_LL_SYSVIEW: 37 description: > 38 Enable SystemView tracing module for controller. 39 value: 0 40 41 BLE_LL_PRIO: 42 description: 'The priority of the LL task' 43 type: 'task_priority' 44 value: 0 45 46 # Sleep clock accuracy (sca). This is the amount of drift in the system 47 # during when the device is sleeping (in parts per million). 48 # 49 # NOTE: 'the' master sca is an enumerated value based on the sca. Rather 50 # than have a piece of code calculate this value, the developer must set 51 # this value based on the value of the SCA using the following table: 52 # 53 # SCA between 251 and 500 ppm (inclusive); master sca = 0 54 # SCA between 151 and 250 ppm (inclusive); master sca = 1 55 # SCA between 101 and 150 ppm (inclusive); master sca = 2 56 # SCA between 76 and 100 ppm (inclusive); master sca = 3 57 # SCA between 51 and 75 ppm (inclusive); master sca = 4 58 # SCA between 31 and 50 ppm (inclusive); master sca = 5 59 # SCA between 21 and 30 ppm (inclusive); master sca = 6 60 # SCA between 0 and 20 ppm (inclusive); master sca = 7 61 # 62 # For example: 63 # if your clock drift is 101 ppm, your master should be set to 2. 64 # if your clock drift is 20, your master sca should be set to 7. 65 # 66 # The values provided below are merely meant to be an example and should 67 # be replaced by values appropriate for your platform. 68 BLE_LL_OUR_SCA: 69 description: 'The system clock accuracy of the device.' 70 value: '60' # in ppm 71 72 BLE_LL_MASTER_SCA: 73 description: 'Enumerated value based on our sca' 74 value: '4' 75 76 BLE_LL_TX_PWR_DBM: 77 description: 'Transmit power level.' 78 value: '0' 79 80 BLE_NUM_COMP_PKT_RATE: 81 description: > 82 Determines the maximum rate at which the controller will send the 83 number of completed packets event to the host. Rate is in os time 84 ticks. 85 value: '(2 * OS_TICKS_PER_SEC)' 86 87 BLE_LL_MFRG_ID: 88 description: > 89 Manufacturer ID. Should be set to unique ID per manufacturer. 90 value: '0xFFFF' 91 92 # Configuration items for the number of duplicate advertisers and the 93 # number of advertisers from which we have heard a scan response. 94 BLE_LL_NUM_SCAN_DUP_ADVS: 95 description: 'The number of duplicate advertisers stored.' 96 value: '8' 97 BLE_LL_NUM_SCAN_RSP_ADVS: 98 description: > 99 The number of advertisers from which we have heard a scan 100 response. Prevents sending duplicate events to host. 101 value: '8' 102 103 BLE_LL_WHITELIST_SIZE: 104 description: 'Size of the LL whitelist.' 105 value: '8' 106 107 BLE_LL_RESOLV_LIST_SIZE: 108 description: 'Size of the resolving list.' 109 value: '4' 110 111 # Data length management definitions for connections. These define the 112 # maximum size of the PDU's that will be sent and/or received in a 113 # connection. 114 BLE_LL_MAX_PKT_SIZE: 115 description: 'The maximum PDU size that can be sent/received' 116 value: '251' 117 BLE_LL_SUPP_MAX_RX_BYTES: 118 description: 'The maximum supported received PDU size' 119 value: 'MYNEWT_VAL_BLE_LL_MAX_PKT_SIZE' 120 BLE_LL_SUPP_MAX_TX_BYTES: 121 description: 'The maximum supported transmit PDU size' 122 value: 'MYNEWT_VAL_BLE_LL_MAX_PKT_SIZE' 123 BLE_LL_CONN_INIT_MAX_TX_BYTES: 124 description: > 125 Used to set the initial maximum transmit PDU size in a 126 connection. If this is set to a value greater than 27, 127 the controller will automatically attempt to do the 128 data length update procedure. The host can always tell 129 the controller to update this value. 130 value: '27' 131 132 # The number of slots that will be allocated to each connection 133 BLE_LL_CONN_INIT_SLOTS: 134 description: > 135 This is the number of "slots" allocated to a connection when scheduling 136 connections. Each slot is 1.25 msecs long. Note that a connection event may 137 last longer than the number of slots allocated here and may also end earlier 138 (depending on when the next scheduled event occurs and how much data needs 139 to be transferred in the connection). However, you will be guaranteed that 140 a connection event will be given this much time, if needed. Consecutively 141 scheduled items will be at least this far apart 142 value: '4' 143 144 BLE_LL_CONN_INIT_MIN_WIN_OFFSET: 145 description: > 146 This is the minimum number of "slots" for WindowOffset value used for 147 CONNECT_IND when creating new connection as a master. Each slot is 1.25 148 msecs long. Increasing this value will delay first connection event after 149 connection is created. However, older TI CC254x controllers cannot change 150 connection parameters later if WindowOffset was set to 0 in CONNECT_IND. To 151 ensure interoperability with such devices set this value to 2 (or more). 152 value: '0' 153 154 # Strict scheduling 155 BLE_LL_STRICT_CONN_SCHEDULING: 156 description: > 157 Forces the scheduler on a central to schedule connections in fixed 158 time intervals called periods. If set to 0, the scheduler is not forced 159 to do this. If set to 1, the scheduler will only schedule connections at 160 period boundaries. See comments in ble_ll_sched.h for more details. 161 value: '0' 162 163 BLE_LL_ADD_STRICT_SCHED_PERIODS: 164 description: > 165 The number of additional periods that will be allocated for strict 166 scheduling. The total # of periods allocated for strict scheduling 167 will be equal to the number of connections plus this number. 168 value: '0' 169 170 BLE_LL_USECS_PER_PERIOD: 171 description: > 172 The number of usecs per period. 173 value: '3250' 174 175 # The number of random bytes to store 176 BLE_LL_RNG_BUFSIZE: 177 description: > 178 The number of random bytes that the link layer will try to 179 always have available for the host to use. Decreasing this 180 value may cause host delays if the host needs lots of random 181 material often. 182 value: '32' 183 184 # Crystal setting time 185 BLE_XTAL_SETTLE_TIME: 186 description: > 187 The settling time of the high-frequency oscillator. This is 188 used to turn on/off the clock used for the radio (assuming 189 the HW supports this). This value is in microseconds. 190 value: '0' 191 192 # Configuration for LL supported features. 193 # 194 # There are a total 8 features that the LL can support. These can be found 195 # in v4.2, Vol 6 Part B Section 4.6. 196 # 197 # These feature definitions are used to inform a host or other controller 198 # about the LL features supported by the controller. 199 # 200 # NOTE: 'the' controller always supports extended reject indicate and thus 201 # is not listed here. 202 203 204 BLE_LL_CFG_FEAT_LE_ENCRYPTION: 205 description: > 206 This option enables/disables encryption support in the controller. 207 This option saves both both code and RAM. 208 value: '1' 209 210 BLE_LL_CFG_FEAT_CONN_PARAM_REQ: 211 description: > 212 This option enables/disables the connection parameter request 213 procedure. This is implemented in the controller but is disabled 214 by default. 215 value: '1' 216 217 BLE_LL_CFG_FEAT_SLAVE_INIT_FEAT_XCHG: 218 description: > 219 This option allows a slave to initiate the feature exchange 220 procedure. This feature is implemented but currently has no impact 221 on code or ram size 222 value: '1' 223 224 BLE_LL_CFG_FEAT_LE_PING: 225 description: > 226 This option allows a controller to send/receive LE pings. 227 Currently, this feature is not implemented by the controller so 228 turning it on or off has no effect. 229 value: 'MYNEWT_VAL_BLE_LL_CFG_FEAT_LE_ENCRYPTION' 230 231 BLE_LL_CFG_FEAT_DATA_LEN_EXT: 232 description: > 233 This option enables/disables the data length update procedure in 234 the controller. If enabled, the controller is allowed to change the 235 size of tx/rx pdu's used in a connection. This option has only 236 minor impact on code size and non on RAM. 237 value: '1' 238 239 BLE_LL_CFG_FEAT_LL_PRIVACY: 240 description: > 241 This option is used to enable/disable LL privacy. 242 value: '1' 243 244 BLE_LL_CFG_FEAT_EXT_SCAN_FILT: 245 description: > 246 This option is used to enable/disable the extended scanner filter 247 policy feature. Currently, this feature is not supported by the 248 nimble controller. 249 value: '0' 250 251 BLE_LL_CFG_FEAT_LE_CSA2: 252 description: > 253 This option is used to enable/disable support for LE Channel 254 Selection Algorithm #2. 255 value: '0' 256 257 BLE_LL_CFG_FEAT_LE_2M_PHY: 258 description: > 259 This option is used to enable/disable support for the 2Mbps PHY. 260 value: '0' 261 262 BLE_LL_CFG_FEAT_LE_CODED_PHY: 263 description: > 264 This option is used to enable/disable support for the coded PHY. 265 value: '0' 266 267 BLE_LL_CFG_FEAT_LL_EXT_ADV: 268 description: > 269 This option is used to enable/disable support for Extended 270 Advertising Feature. That means extended scanner, advertiser 271 and connect. 272 value: MYNEWT_VAL_BLE_EXT_ADV 273 274 BLE_LL_EXT_ADV_AUX_PTR_CNT: 275 description: > 276 This option configure a max number of scheduled outstanding auxiliary 277 packets for receive on secondary advertising channel. 278 value: 0 279 280 BLE_PUBLIC_DEV_ADDR: 281 description: > 282 Allows the target or app to override the public device address 283 used by the controller. If all zero, the controller will 284 attempt to retrieve the public device address from its 285 chip specific location. If non-zero, this address will 286 be used. 287 value: "(uint8_t[6]){0x00, 0x00, 0x00, 0x00, 0x00, 0x00}" 288 289 BLE_LL_DIRECT_TEST_MODE: 290 description: > 291 Enables HCI Test commands needed for Bluetooth SIG certification 292 value: 0 293 294 BLE_LL_VND_EVENT_ON_ASSERT: 295 description: > 296 This options enables controller to send a vendor-specific event on 297 an assertion in controller code. The event contains file name and 298 line number where assertion occured. 299 value: 0 300 301 BLE_LL_SYSINIT_STAGE: 302 description: > 303 Sysinit stage for the NimBLE controller. 304 value: 250 305 306syscfg.vals.BLE_LL_CFG_FEAT_LL_EXT_ADV: 307 BLE_LL_CFG_FEAT_LE_CSA2: 1 308 BLE_HW_WHITELIST_ENABLE: 0 309 BLE_LL_EXT_ADV_AUX_PTR_CNT: 5 310 311# Enable vendor event on assert in standalone build to make failed assertions in 312# controller code visible when connected to external host 313syscfg.vals.!BLE_HOST: 314 BLE_LL_VND_EVENT_ON_ASSERT: 1 315