1415a769fSMatthias Ringwald // 2415a769fSMatthias Ringwald // btstack_config.h 3415a769fSMatthias Ringwald // 4415a769fSMatthias Ringwald 5415a769fSMatthias Ringwald #ifndef BTSTACK_CONFIG_H 6415a769fSMatthias Ringwald #define BTSTACK_CONFIG_H 7415a769fSMatthias Ringwald 8415a769fSMatthias Ringwald // Port related features 9415a769fSMatthias Ringwald #define HAVE_EMBEDDED_TIME_MS 10415a769fSMatthias Ringwald 11415a769fSMatthias Ringwald // BTstack features that can be enabled 12415a769fSMatthias Ringwald #define ENABLE_CLASSIC 13415a769fSMatthias Ringwald 14415a769fSMatthias Ringwald #define ENABLE_BTSTACK_ASSERT 15415a769fSMatthias Ringwald 16415a769fSMatthias Ringwald // BTstack configuration. buffers, sizes, ... 17415a769fSMatthias Ringwald #define HCI_ACL_PAYLOAD_SIZE (676 + 4) 18*e6ce01a5SMatthias Ringwald /// Provide 1 byte of data for H4 TL type 19*e6ce01a5SMatthias Ringwald #define HCI_OUTGOING_PRE_BUFFER_SIZE (1) 20*e6ce01a5SMatthias Ringwald 21*e6ce01a5SMatthias Ringwald #define HAVE_HOST_CONTROLLER_API 22*e6ce01a5SMatthias Ringwald 23*e6ce01a5SMatthias Ringwald // Internal ring buffer: 21 kB 24*e6ce01a5SMatthias Ringwald #define HCI_HOST_ACL_PACKET_NUM (20) 25*e6ce01a5SMatthias Ringwald #define HCI_HOST_ACL_PACKET_LEN (1024) 26*e6ce01a5SMatthias Ringwald #define HCI_HOST_SCO_PACKET_NUM (10) 27*e6ce01a5SMatthias Ringwald #define HCI_HOST_SCO_PACKET_LEN (60) 28415a769fSMatthias Ringwald 29415a769fSMatthias Ringwald // Link Key DB and LE Device DB using TLV on top of Flash Sector interface 30415a769fSMatthias Ringwald #define NVM_NUM_LINK_KEYS (0) 31415a769fSMatthias Ringwald #define NVM_NUM_DEVICE_DB_ENTRIES (0) 32415a769fSMatthias Ringwald 33415a769fSMatthias Ringwald // BTstack configuration. buffers, sizes, ... 34415a769fSMatthias Ringwald 35415a769fSMatthias Ringwald #define MAX_NR_HCI_CONNECTIONS (4) 36415a769fSMatthias Ringwald #define MAX_NR_L2CAP_SERVICES (6) 37415a769fSMatthias Ringwald #define MAX_NR_L2CAP_CHANNELS (6) 38415a769fSMatthias Ringwald 39415a769fSMatthias Ringwald #define MAX_NR_BTSTACK_LINK_KEY_DB_MEMORY_ENTRIES (0) 40415a769fSMatthias Ringwald #define MAX_NR_BNEP_SERVICES (0) 41415a769fSMatthias Ringwald #define MAX_NR_BNEP_CHANNELS (0) 42415a769fSMatthias Ringwald #define MAX_NR_WHITELIST_ENTRIES (0) 43415a769fSMatthias Ringwald #define MAX_NR_SM_LOOKUP_ENTRIES (0) 44415a769fSMatthias Ringwald #define MAX_NR_SERVICE_RECORD_ITEMS (8) 45415a769fSMatthias Ringwald #define MAX_NR_AVDTP_STREAM_ENDPOINTS (4) 46415a769fSMatthias Ringwald #define MAX_NR_AVDTP_CONNECTIONS (2) 47415a769fSMatthias Ringwald #define MAX_NR_AVRCP_CONNECTIONS (2) 48415a769fSMatthias Ringwald 49415a769fSMatthias Ringwald #define MAX_NR_HFP_CONNECTIONS (1) 50415a769fSMatthias Ringwald #define MAX_NR_RFCOMM_MULTIPLEXERS (1) 51415a769fSMatthias Ringwald #define MAX_NR_RFCOMM_SERVICES (1) 52415a769fSMatthias Ringwald #define MAX_NR_RFCOMM_CHANNELS (1) 53415a769fSMatthias Ringwald 54415a769fSMatthias Ringwald /// Enable SCO over HCI 55415a769fSMatthias Ringwald #define ENABLE_SCO_OVER_HCI 56415a769fSMatthias Ringwald /// Ensure that BK doesn't start implicitly discoverable and connectable mode 57415a769fSMatthias Ringwald #define ENABLE_EXPLICIT_CONNECTABLE_MODE_CONTROL 58415a769fSMatthias Ringwald /// Add support of BT classic OOB pairing 59415a769fSMatthias Ringwald #define ENABLE_CLASSIC_PAIRING_OOB 60415a769fSMatthias Ringwald /// Handle IOCAP by application 61415a769fSMatthias Ringwald #define ENABLE_EXPLICIT_IO_CAPABILITIES_REPLY 62415a769fSMatthias Ringwald /// Enable A2DP source codec config 63415a769fSMatthias Ringwald #define ENABLE_A2DP_SOURCE_EXPLICIT_CONFIG 64*e6ce01a5SMatthias Ringwald /// Allow defer of LINK Key Reply 65*e6ce01a5SMatthias Ringwald #define ENABLE_EXPLICIT_LINK_KEY_REPLY 66415a769fSMatthias Ringwald 67415a769fSMatthias Ringwald #define ENABLE_HFP_WIDE_BAND_SPEECH 68415a769fSMatthias Ringwald #define ENABLE_L2CAP_ENHANCED_RETRANSMISSION_MODE 69*e6ce01a5SMatthias Ringwald #define ENABLE_L2CAP_ENHANCED_RETRANSMISSION_MODE_FOR_RFCOMM 70*e6ce01a5SMatthias Ringwald #define ENABLE_GOEP_L2CAP 71*e6ce01a5SMatthias Ringwald 72415a769fSMatthias Ringwald 73415a769fSMatthias Ringwald // cannot be used yet - mere inclusion of <stdio.h> causes compile errors 74415a769fSMatthias Ringwald // <stdio.h> is used at various places for snprintf 75415a769fSMatthias Ringwald // abort on use of printf in main library 76415a769fSMatthias Ringwald // #define printf() no_printf_please() 77415a769fSMatthias Ringwald 78415a769fSMatthias Ringwald #endif 79415a769fSMatthias Ringwald 80