xref: /btstack/port/raspi/btstack_config.h (revision 3c07636cece7e6169032e080b1d76e9475bb59d7)
1f5c04f62SMatthias Ringwald //
2077fecbbSMilanka Ringwald // btstack_config.h for Raspberry Pi port
3077fecbbSMilanka Ringwald //
4077fecbbSMilanka Ringwald // Documentation: https://bluekitchen-gmbh.com/btstack/#how_to/
5f5c04f62SMatthias Ringwald //
6f5c04f62SMatthias Ringwald 
736327e5aSMilanka Ringwald #ifndef BTSTACK_CONFIG_H
836327e5aSMilanka Ringwald #define BTSTACK_CONFIG_H
9f5c04f62SMatthias Ringwald 
10f5c04f62SMatthias Ringwald // Port related features
11d20e3046SMatthias Ringwald #define HAVE_ASSERT
1236327e5aSMilanka Ringwald #define HAVE_BTSTACK_STDIN
13f5c04f62SMatthias Ringwald #define HAVE_MALLOC
14f5c04f62SMatthias Ringwald #define HAVE_POSIX_FILE_IO
15f5c04f62SMatthias Ringwald 
16f5c04f62SMatthias Ringwald // BTstack features that can be enabled
17b2b52d42SMatthias Ringwald #define ENABLE_AVRCP_COVER_ART
18f5c04f62SMatthias Ringwald #define ENABLE_BLE
19f5c04f62SMatthias Ringwald #define ENABLE_CLASSIC
20*3c07636cSMatthias Ringwald #define ENABLE_GOEP_L2CAP
2108b9cddcSMatthias Ringwald #define ENABLE_H5
22f5c04f62SMatthias Ringwald #define ENABLE_HFP_WIDE_BAND_SPEECH
23e5b6c4e9SMatthias Ringwald #define ENABLE_L2CAP_ENHANCED_RETRANSMISSION_MODE
24b28dc800SMatthias Ringwald #define ENABLE_L2CAP_LE_CREDIT_BASED_FLOW_CONTROL_MODE
25b2b52d42SMatthias Ringwald #define ENABLE_LE_CENTRAL
26f5c04f62SMatthias Ringwald #define ENABLE_LE_DATA_LENGTH_EXTENSION
2736327e5aSMilanka Ringwald #define ENABLE_LE_PERIPHERAL
2836327e5aSMilanka Ringwald #define ENABLE_LE_SECURE_CONNECTIONS
29f5c04f62SMatthias Ringwald #define ENABLE_LOG_ERROR
30f5c04f62SMatthias Ringwald #define ENABLE_LOG_INFO
3136327e5aSMilanka Ringwald #define ENABLE_MICRO_ECC_FOR_LE_SECURE_CONNECTIONS
32606ccc9bSMilanka Ringwald #define ENABLE_PRINTF_HEXDUMP
33f5c04f62SMatthias Ringwald #define ENABLE_SCO_OVER_HCI
34f5c04f62SMatthias Ringwald #define ENABLE_SDP_DES_DUMP
35a5ceff15SMatthias Ringwald #define ENABLE_SOFTWARE_AES128
36f5c04f62SMatthias Ringwald 
37e6a3daa4SMatthias Ringwald // Warm Boot needed if connected via Wifi on Raspberry Pi 3A+ or 3B+
38e6a3daa4SMatthias Ringwald // #define ENABLE_CONTROLLER_WARM_BOOT
39e6a3daa4SMatthias Ringwald 
40f5c04f62SMatthias Ringwald // BTstack configuration. buffers, sizes, ...
41f5c04f62SMatthias Ringwald #define HCI_ACL_PAYLOAD_SIZE (1691 + 4)
4208b9cddcSMatthias Ringwald #define HCI_INCOMING_PRE_BUFFER_SIZE 14 // sizeof BNEP header, avoid memcpy
4308b9cddcSMatthias Ringwald #define HCI_OUTGOING_PRE_BUFFER_SIZE  4
44f5c04f62SMatthias Ringwald 
45dbe92de6SMatthias Ringwald #define NVM_NUM_DEVICE_DB_ENTRIES      16
4636327e5aSMilanka Ringwald #define NVM_NUM_LINK_KEYS              16
478c8a87eeSMatthias Ringwald 
48e514a7f5SMatthias Ringwald // Mesh Configuration
49e514a7f5SMatthias Ringwald #define ENABLE_MESH
50e514a7f5SMatthias Ringwald #define ENABLE_MESH_ADV_BEARER
51e514a7f5SMatthias Ringwald #define ENABLE_MESH_GATT_BEARER
52e514a7f5SMatthias Ringwald #define ENABLE_MESH_PB_ADV
53e514a7f5SMatthias Ringwald #define ENABLE_MESH_PB_GATT
54e514a7f5SMatthias Ringwald #define ENABLE_MESH_PROVISIONER
5536327e5aSMilanka Ringwald #define ENABLE_MESH_PROXY_SERVER
56e514a7f5SMatthias Ringwald 
5736327e5aSMilanka Ringwald #define MAX_NR_MESH_SUBNETS            2
58e514a7f5SMatthias Ringwald #define MAX_NR_MESH_TRANSPORT_KEYS    16
59e514a7f5SMatthias Ringwald #define MAX_NR_MESH_VIRTUAL_ADDRESSES 16
60e514a7f5SMatthias Ringwald 
61e514a7f5SMatthias Ringwald // allow for one NetKey update
62e514a7f5SMatthias Ringwald #define MAX_NR_MESH_NETWORK_KEYS      (MAX_NR_MESH_SUBNETS+1)
63e514a7f5SMatthias Ringwald 
64f5c04f62SMatthias Ringwald #endif
65f5c04f62SMatthias Ringwald 
66