xref: /btstack/port/raspi/btstack_config.h (revision b2b52d42121140bd6be66e10082f8d3a2ad5d13c)
1 //
2 // btstack_config.h for Raspberry Pi port
3 //
4 // Documentation: https://bluekitchen-gmbh.com/btstack/#how_to/
5 //
6 
7 #ifndef BTSTACK_CONFIG_H
8 #define BTSTACK_CONFIG_H
9 
10 // Port related features
11 #define HAVE_ASSERT
12 #define HAVE_BTSTACK_STDIN
13 #define HAVE_MALLOC
14 #define HAVE_POSIX_FILE_IO
15 
16 // BTstack features that can be enabled
17 #define ENABLE_AVRCP_COVER_ART
18 #define ENABLE_BLE
19 #define ENABLE_CLASSIC
20 #define ENABLE_H5
21 #define ENABLE_HFP_WIDE_BAND_SPEECH
22 #define ENABLE_L2CAP_ENHANCED_RETRANSMISSION_MODE
23 #define ENABLE_L2CAP_LE_CREDIT_BASED_FLOW_CONTROL_MODE
24 #define ENABLE_LE_CENTRAL
25 #define ENABLE_LE_DATA_LENGTH_EXTENSION
26 #define ENABLE_LE_PERIPHERAL
27 #define ENABLE_LE_SECURE_CONNECTIONS
28 #define ENABLE_LOG_ERROR
29 #define ENABLE_LOG_INFO
30 #define ENABLE_MICRO_ECC_FOR_LE_SECURE_CONNECTIONS
31 #define ENABLE_PRINTF_HEXDUMP
32 #define ENABLE_SCO_OVER_HCI
33 #define ENABLE_SDP_DES_DUMP
34 #define ENABLE_SOFTWARE_AES128
35 
36 // Warm Boot needed if connected via Wifi on Raspberry Pi 3A+ or 3B+
37 // #define ENABLE_CONTROLLER_WARM_BOOT
38 
39 // BTstack configuration. buffers, sizes, ...
40 #define HCI_ACL_PAYLOAD_SIZE (1691 + 4)
41 #define HCI_INCOMING_PRE_BUFFER_SIZE 14 // sizeof BNEP header, avoid memcpy
42 #define HCI_OUTGOING_PRE_BUFFER_SIZE  4
43 
44 #define NVM_NUM_DEVICE_DB_ENTRIES      16
45 #define NVM_NUM_LINK_KEYS              16
46 
47 // Mesh Configuration
48 #define ENABLE_MESH
49 #define ENABLE_MESH_ADV_BEARER
50 #define ENABLE_MESH_GATT_BEARER
51 #define ENABLE_MESH_PB_ADV
52 #define ENABLE_MESH_PB_GATT
53 #define ENABLE_MESH_PROVISIONER
54 #define ENABLE_MESH_PROXY_SERVER
55 
56 #define MAX_NR_MESH_SUBNETS            2
57 #define MAX_NR_MESH_TRANSPORT_KEYS    16
58 #define MAX_NR_MESH_VIRTUAL_ADDRESSES 16
59 
60 // allow for one NetKey update
61 #define MAX_NR_MESH_NETWORK_KEYS      (MAX_NR_MESH_SUBNETS+1)
62 
63 #endif
64 
65