10d529a9fSMatthias Ringwald // 20d529a9fSMatthias Ringwald // btstack_config.h for libusb port 30d529a9fSMatthias Ringwald // 4077fecbbSMilanka Ringwald // Documentation: https://bluekitchen-gmbh.com/btstack/#how_to/ 5077fecbbSMilanka Ringwald // 67907f069SMatthias Ringwald 736327e5aSMilanka Ringwald #ifndef BTSTACK_CONFIG_H 836327e5aSMilanka Ringwald #define BTSTACK_CONFIG_H 97907f069SMatthias Ringwald 100d529a9fSMatthias Ringwald // Port related features 11d20e3046SMatthias Ringwald #define HAVE_ASSERT 1236327e5aSMilanka Ringwald #define HAVE_BTSTACK_STDIN 137907f069SMatthias Ringwald #define HAVE_MALLOC 1409bb5270SMatthias Ringwald #define HAVE_POSIX_FILE_IO 15d0755cd6SMatthias Ringwald #define HAVE_POSIX_TIME 16*b2b52d42SMatthias Ringwald 17555ade44SDirk Helbig #ifdef HAVE_PORTAUDIO 18555ade44SDirk Helbig #define HAVE_BTSTACK_AUDIO_EFFECTIVE_SAMPLERATE 19*b2b52d42SMatthias Ringwald 20555ade44SDirk Helbig #endif 210d529a9fSMatthias Ringwald 220d529a9fSMatthias Ringwald // BTstack features that can be enabled 2336327e5aSMilanka Ringwald #define ENABLE_ATT_DELAYED_RESPONSE 24*b2b52d42SMatthias Ringwald #define ENABLE_AVRCP_COVER_ART 250d529a9fSMatthias Ringwald #define ENABLE_BLE 267420e932SDirk Helbig #define ENABLE_BTSTACK_STDIN_LOGGING 2780b9a8caSMatthias Ringwald #define ENABLE_CLASSIC 2836327e5aSMilanka Ringwald #define ENABLE_CROSS_TRANSPORT_KEY_DERIVATION 29ecb4d243SMatthias Ringwald #define ENABLE_GOEP_L2CAP 301bbecc2bSMatthias Ringwald #define ENABLE_HFP_WIDE_BAND_SPEECH 3136327e5aSMilanka Ringwald #define ENABLE_L2CAP_ENHANCED_RETRANSMISSION_MODE 32b28dc800SMatthias Ringwald #define ENABLE_L2CAP_LE_CREDIT_BASED_FLOW_CONTROL_MODE 33*b2b52d42SMatthias Ringwald #define ENABLE_LE_CENTRAL 34b435e062SMatthias Ringwald #define ENABLE_LE_DATA_LENGTH_EXTENSION 3536327e5aSMilanka Ringwald #define ENABLE_LE_PERIPHERAL 36b596325dSMatthias Ringwald #define ENABLE_LE_PRIVACY_ADDRESS_RESOLUTION 3736327e5aSMilanka Ringwald #define ENABLE_LE_SECURE_CONNECTIONS 380d529a9fSMatthias Ringwald #define ENABLE_LOG_ERROR 390d529a9fSMatthias Ringwald #define ENABLE_LOG_INFO 4036327e5aSMilanka Ringwald #define ENABLE_MICRO_ECC_FOR_LE_SECURE_CONNECTIONS 41606ccc9bSMilanka Ringwald #define ENABLE_PRINTF_HEXDUMP 4271c4de7aSMatthias Ringwald #define ENABLE_SCO_OVER_HCI 430d529a9fSMatthias Ringwald #define ENABLE_SDP_DES_DUMP 44a2ad0a75SMatthias Ringwald #define ENABLE_SOFTWARE_AES128 45f12a3722SMilanka Ringwald 460d529a9fSMatthias Ringwald // BTstack configuration. buffers, sizes, ... 477907f069SMatthias Ringwald #define HCI_ACL_PAYLOAD_SIZE (1691 + 4) 487907f069SMatthias Ringwald #define HCI_INCOMING_PRE_BUFFER_SIZE 14 // sizeof BNEP header, avoid memcpy 497907f069SMatthias Ringwald 50dbe92de6SMatthias Ringwald #define NVM_NUM_DEVICE_DB_ENTRIES 16 5136327e5aSMilanka Ringwald #define NVM_NUM_LINK_KEYS 16 52e514a7f5SMatthias Ringwald 53e514a7f5SMatthias Ringwald // Mesh Configuration 54e514a7f5SMatthias Ringwald #define ENABLE_MESH 55e514a7f5SMatthias Ringwald #define ENABLE_MESH_ADV_BEARER 56e514a7f5SMatthias Ringwald #define ENABLE_MESH_GATT_BEARER 57e514a7f5SMatthias Ringwald #define ENABLE_MESH_PB_ADV 58e514a7f5SMatthias Ringwald #define ENABLE_MESH_PB_GATT 59e514a7f5SMatthias Ringwald #define ENABLE_MESH_PROVISIONER 6036327e5aSMilanka Ringwald #define ENABLE_MESH_PROXY_SERVER 61e514a7f5SMatthias Ringwald 6236327e5aSMilanka Ringwald #define MAX_NR_MESH_SUBNETS 2 63cf862b36SMatthias Ringwald #define MAX_NR_MESH_TRANSPORT_KEYS 16 64cf862b36SMatthias Ringwald #define MAX_NR_MESH_VIRTUAL_ADDRESSES 16 65cf862b36SMatthias Ringwald 66cf862b36SMatthias Ringwald // allow for one NetKey update 67cf862b36SMatthias Ringwald #define MAX_NR_MESH_NETWORK_KEYS (MAX_NR_MESH_SUBNETS+1) 68cf862b36SMatthias Ringwald 697907f069SMatthias Ringwald #endif 70cf862b36SMatthias Ringwald 71