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