1 // 2 // btstack_config.h for esp32 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_BTSTACK_STDIN 12 #define HAVE_EMBEDDED_TIME_MS 13 #define HAVE_FREERTOS_INCLUDE_PREFIX 14 #define HAVE_FREERTOS_TASK_NOTIFICATIONS 15 #define HAVE_MALLOC 16 17 // BTstack features that can be enabled 18 #define ENABLE_ATT_DELAYED_RESPONSE 19 #define ENABLE_BLE 20 #define ENABLE_CLASSIC 21 #define ENABLE_LE_CENTRAL 22 #define ENABLE_L2CAP_LE_CREDIT_BASED_FLOW_CONTROL_MODE 23 #define ENABLE_LE_DATA_LENGTH_EXTENSION 24 #define ENABLE_LE_PERIPHERAL 25 #define ENABLE_LE_SECURE_CONNECTIONS 26 #define ENABLE_PRINTF_HEXDUMP 27 28 // ESP32 supports ECDH HCI Commands, but micro-ecc lib is already provided anyway 29 #define ENABLE_LOG_ERROR 30 #define ENABLE_LOG_INFO 31 #define ENABLE_MICRO_ECC_FOR_LE_SECURE_CONNECTIONS 32 #define ENABLE_HFP_WIDE_BAND_SPEECH 33 #define ENABLE_SCO_OVER_HCI 34 35 // work around to link layer issues in ESP32 36 // https://github.com/espressif/esp-idf/issues/5494 37 #define ENABLE_CLASSIC_LEGACY_CONNECTIONS_FOR_SCO_DEMOS 38 39 // BTstack configuration. buffers, sizes, ... 40 #define HCI_ACL_PAYLOAD_SIZE (1691 + 4) 41 42 // HCI Controller to Host Flow Control 43 #define ENABLE_HCI_CONTROLLER_TO_HOST_FLOW_CONTROL 44 45 // Internal ring buffer: 21 kB 46 #define HCI_HOST_ACL_PACKET_LEN 1024 47 #define HCI_HOST_ACL_PACKET_NUM 20 48 #define HCI_HOST_SCO_PACKET_LEN 60 49 #define HCI_HOST_SCO_PACKET_NUM 10 50 51 // Link Key DB and LE Device DB using TLV 52 #define NVM_NUM_DEVICE_DB_ENTRIES 16 53 #define NVM_NUM_LINK_KEYS 16 54 55 56 // Mesh Configuration 57 #define ENABLE_MESH 58 #define ENABLE_MESH_ADV_BEARER 59 #define ENABLE_MESH_GATT_BEARER 60 #define ENABLE_MESH_PB_ADV 61 #define ENABLE_MESH_PB_GATT 62 #define ENABLE_MESH_PROVISIONER 63 #define ENABLE_MESH_PROXY_SERVER 64 65 #define MAX_NR_MESH_SUBNETS 2 66 #define MAX_NR_MESH_TRANSPORT_KEYS 16 67 #define MAX_NR_MESH_VIRTUAL_ADDRESSES 16 68 69 // allow for one NetKey update 70 #define MAX_NR_MESH_NETWORK_KEYS (MAX_NR_MESH_SUBNETS+1) 71 72 #endif 73