NimBLE-Arduino: /github/workspace/src/nimconfig.h Source File

1 #pragma once

2

3#ifdef ESP_PLATFORM

4#include "sdkconfig.h"

5#else

6#include "ext_nimble_config.h"

7

8#undef CONFIG_BT_NIMBLE_ROLE_CENTRAL

9#undef CONFIG_BT_NIMBLE_ROLE_PERIPHERAL

10#undef CONFIG_BT_NIMBLE_ROLE_BROADCASTER

11#undef CONFIG_BT_NIMBLE_ROLE_OBSERVER

12#undef CONFIG_BT_ENABLED

13#define CONFIG_BT_ENABLED 1

14#endif

15

16#include "nimconfig_rename.h"

17

18

19

20

21

23

24

31

32

39

40

41

42

43

44

45

46

48

49

51

52

54

55

57

58

60

61

62

63

64

65

66

68

69

71

72

77

78

83

84

86

87

91

92

96

97

101

102

104

105

109

110

114

115

119

120

124

125

127

128

130

131

133

134

141

142

144

145

147

148

150

151

157

158

162

163

167

168

173

174

175

176

177

178

179

180#ifndef CONFIG_BT_NIMBLE_ROLE_CENTRAL

181#ifndef CONFIG_BT_NIMBLE_ROLE_CENTRAL_DISABLED

182#define CONFIG_BT_NIMBLE_ROLE_CENTRAL 1

183#else

184#define CONFIG_BT_NIMBLE_ROLE_CENTRAL 0

185#endif

186#endif

187

188#ifndef CONFIG_BT_NIMBLE_ROLE_OBSERVER

189#ifndef CONFIG_BT_NIMBLE_ROLE_OBSERVER_DISABLED

190#define CONFIG_BT_NIMBLE_ROLE_OBSERVER 1

191#else

192#define CONFIG_BT_NIMBLE_ROLE_OBSERVER 0

193#endif

194#endif

195

196#ifndef CONFIG_BT_NIMBLE_ROLE_PERIPHERAL

197#ifndef CONFIG_BT_NIMBLE_ROLE_PERIPHERAL_DISABLED

198#define CONFIG_BT_NIMBLE_ROLE_PERIPHERAL 1

199#else

200#define CONFIG_BT_NIMBLE_ROLE_PERIPHERAL 0

201#endif

202#endif

203

204#ifndef CONFIG_BT_NIMBLE_ROLE_BROADCASTER

205#ifndef CONFIG_BT_NIMBLE_ROLE_BROADCASTER_DISABLED

206#define CONFIG_BT_NIMBLE_ROLE_BROADCASTER 1

207#else

208#define CONFIG_BT_NIMBLE_ROLE_BROADCASTER 0

209#endif

210#endif

211

212#ifndef CONFIG_BT_NIMBLE_PINNED_TO_CORE

213#define CONFIG_BT_NIMBLE_PINNED_TO_CORE 0

214#endif

215

216#ifndef CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE

217#define CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE 4096

218#endif

219

220#ifndef CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL

221#define CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL 1

222#endif

223

224#ifndef CONFIG_BT_NIMBLE_MAX_CONNECTIONS

225#define CONFIG_BT_NIMBLE_MAX_CONNECTIONS 3

226#endif

227

228

229#ifndef CONFIG_NIMBLE_MAX_CONNECTIONS

230#define CONFIG_NIMBLE_MAX_CONNECTIONS CONFIG_BT_NIMBLE_MAX_CONNECTIONS

231#endif

232

233#ifndef CONFIG_BT_NIMBLE_MAX_BONDS

234#define CONFIG_BT_NIMBLE_MAX_BONDS 3

235#endif

236

237#ifndef CONFIG_BT_NIMBLE_MAX_CCCDS

238#define CONFIG_BT_NIMBLE_MAX_CCCDS 8

239#endif

240

241#ifndef CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME

242#define CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME "nimble"

243#endif

244

245#ifndef CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU

246#define CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU 255

247#endif

248

249#ifndef CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE

250#define CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE 0x0

251#endif

252

253#ifdef CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT

254#define MYNEWT_VAL_MSYS_1_BLOCK_COUNT CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT

255#else

256#define MYNEWT_VAL_MSYS_1_BLOCK_COUNT 12

257#endif

258

259#ifndef CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE

260#define CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE 256

261#endif

262

263#ifndef CONFIG_BT_NIMBLE_RPA_TIMEOUT

264#define CONFIG_BT_NIMBLE_RPA_TIMEOUT 900

265#endif

266

267#ifndef CONFIG_BT_NIMBLE_LOG_LEVEL

268#define CONFIG_BT_NIMBLE_LOG_LEVEL 5

269#endif

270

272#ifndef CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM

273#define CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM 0

274#endif

275

277#define CONFIG_BT_NIMBLE_NVS_PERSIST 1

278

280#define CONFIG_BT_NIMBLE_SM_LEGACY 1

281

283#define CONFIG_BT_NIMBLE_SM_SC 1

284

286#define CONFIG_BT_NIMBLE_GAP_DEVICE_NAME_MAX_LEN 31

287

289#ifndef CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT

290#define CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT 12

291#endif

292

294#define CONFIG_BT_NIMBLE_TRANSPORT_ACL_SIZE 255

295

297#if CONFIG_BT_NIMBLE_EXT_ADV

298# define CONFIG_BT_NIMBLE_TRANSPORT_EVT_SIZE 257

299#else

300# define CONFIG_BT_NIMBLE_TRANSPORT_EVT_SIZE 70

301#endif

302

304#define CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT 30

305

307#define CONFIG_BT_NIMBLE_TRANSPORT_EVT_DISCARD_COUNT 8

308

309#define CONFIG_BT_NIMBLE_L2CAP_COC_SDU_BUFF_COUNT 1

310#define CONFIG_BT_NIMBLE_EATT_CHAN_NUM 0

311#define CONFIG_BT_NIMBLE_SVC_GAP_CENT_ADDR_RESOLUTION -1

312#define CONFIG_BT_NIMBLE_GATT_MAX_PROCS 4

313#define CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS 2000

314

315#ifndef CONFIG_BT_ENABLED

316#define CONFIG_BT_ENABLED

317#endif

318

319#ifndef CONFIG_BT_NIMBLE_ENABLED

320#define CONFIG_BT_NIMBLE_ENABLED 1

321#endif

322

323#ifndef CONFIG_BT_CONTROLLER_ENABLED

324#define CONFIG_BT_CONTROLLER_ENABLED 1

325#endif

326

327#ifndef CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS

328#define CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS 0

329#endif

330

331#ifndef MYNEWT_VAL_BLE_CRYPTO_STACK_MBEDTLS

332#define MYNEWT_VAL_BLE_CRYPTO_STACK_MBEDTLS (CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS)

333#endif

334

335#ifdef ESP_PLATFORM

336#ifndef CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY

337#define CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY

338#endif

339

340#ifndef CONFIG_BTDM_SCAN_DUPL_TYPE_DEVICE

341#define CONFIG_BTDM_SCAN_DUPL_TYPE_DEVICE 0

342#endif

343

344#ifndef CONFIG_BTDM_SCAN_DUPL_TYPE_DATA

345#define CONFIG_BTDM_SCAN_DUPL_TYPE_DATA 1

346#endif

347

348#ifndef CONFIG_BTDM_SCAN_DUPL_TYPE_DATA_DEVICE

349#define CONFIG_BTDM_SCAN_DUPL_TYPE_DATA_DEVICE 2

350#endif

351

352#if !defined(CONFIG_BT_NIMBLE_LEGACY_VHCI_ENABLE) && defined(CONFIG_IDF_TARGET_ESP32) || \

353defined(CONFIG_IDF_TARGET_ESP32C3) || defined(CONFIG_IDF_TARGET_ESP32S3)

354#define CONFIG_BT_NIMBLE_LEGACY_VHCI_ENABLE 1

355#endif

356

357#ifdef CONFIG_IDF_TARGET_ESP32

358#define CONFIG_BT_NIMBLE_HS_FLOW_CTRL 1

359#define CONFIG_BT_NIMBLE_HS_FLOW_CTRL_ITVL 1000

360#define CONFIG_BT_NIMBLE_HS_FLOW_CTRL_THRESH 2

361#define CONFIG_BT_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT 1

362#endif

363

364#if !defined(CONFIG_BT_CONTROLLER_DISABLED)

365#define CONFIG_BT_CONTROLLER_DISABLED 0

366#endif

367

368#if CONFIG_BT_NIMBLE_EXT_ADV || CONFIG_BT_NIMBLE_ENABLE_PERIODIC_ADV

369# if defined(CONFIG_IDF_TARGET_ESP32)

370# error Extended advertising is not supported on ESP32.

371# endif

372#endif

373

374#ifndef CONFIG_BT_NIMBLE_USE_ESP_TIMER

375#define CONFIG_BT_NIMBLE_USE_ESP_TIMER 1

376#endif

377

378#ifndef CONFIG_BT_NIMBLE_WHITELIST_SIZE

379#define CONFIG_BT_NIMBLE_WHITELIST_SIZE 12

380#endif

381

382#endif

383

384#if CONFIG_BT_NIMBLE_ENABLE_PERIODIC_ADV && !CONFIG_BT_NIMBLE_EXT_ADV

385# error Extended advertising must be enabled to use periodic advertising.

386#endif

387

388

389#if CONFIG_BT_NIMBLE_EXT_ADV

390# if !defined(CONFIG_BT_NIMBLE_MAX_EXT_ADV_INSTANCES)

391# define CONFIG_BT_NIMBLE_MAX_EXT_ADV_INSTANCES 1

392# endif

393# if !defined(CONFIG_BT_NIMBLE_MAX_EXT_ADV_DATA_LEN)

394# define CONFIG_BT_NIMBLE_MAX_EXT_ADV_DATA_LEN 1650

395# endif

396# if !defined(CONFIG_BT_NIMBLE_EXT_ADV_MAX_SIZE)

397# define CONFIG_BT_NIMBLE_EXT_ADV_MAX_SIZE CONFIG_BT_NIMBLE_MAX_EXT_ADV_DATA_LEN

398# endif

399#endif

400

401

402#if CONFIG_BT_NIMBLE_ENABLE_PERIODIC_ADV && !defined(CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS)

403# define CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS 1

404#endif

405

406

407#if defined __has_include

408# if __has_include (<Arduino.h>)

409# define NIMBLE_CPP_ARDUINO_STRING_AVAILABLE

410# endif

411#endif

412

413#ifndef CONFIG_NIMBLE_CPP_DEBUG_ASSERT_ENABLED

414#define CONFIG_NIMBLE_CPP_DEBUG_ASSERT_ENABLED 0

415#endif

416

417#ifndef CONFIG_NIMBLE_CPP_FREERTOS_TASK_BLOCK_BIT

418#define CONFIG_NIMBLE_CPP_FREERTOS_TASK_BLOCK_BIT 31

419#endif

420

421#if CONFIG_NIMBLE_CPP_DEBUG_ASSERT_ENABLED && !defined NDEBUG

422void nimble_cpp_assert(const char *file, unsigned line) __attribute((weak, noreturn));

423# define NIMBLE_ATT_VAL_FILE (__builtin_strrchr(__FILE__, '/') ? \

424 __builtin_strrchr (__FILE__, '/') + 1 : __FILE__)

425# define NIMBLE_CPP_DEBUG_ASSERT(cond) \

426 if (!(cond)) { \

427 nimble_cpp_assert(NIMBLE_ATT_VAL_FILE, __LINE__); \

428 }

429#else

430# define NIMBLE_CPP_DEBUG_ASSERT(cond) (void(0))

431#endif