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) 18e6ce01a5SMatthias Ringwald /// Provide 1 byte of data for H4 TL type 19e6ce01a5SMatthias Ringwald #define HCI_OUTGOING_PRE_BUFFER_SIZE (1) 20e6ce01a5SMatthias Ringwald 21e6ce01a5SMatthias Ringwald #define HAVE_HOST_CONTROLLER_API 22e6ce01a5SMatthias Ringwald 23e6ce01a5SMatthias Ringwald // Internal ring buffer: 21 kB 24e6ce01a5SMatthias Ringwald #define HCI_HOST_ACL_PACKET_NUM (20) 25e6ce01a5SMatthias Ringwald #define HCI_HOST_ACL_PACKET_LEN (1024) 26e6ce01a5SMatthias Ringwald #define HCI_HOST_SCO_PACKET_NUM (10) 27e6ce01a5SMatthias 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 6272237cc2SMatthias Ringwald /// Enable A2DP codec config 6372237cc2SMatthias Ringwald #define ENABLE_A2DP_EXPLICIT_CONFIG 64*bf0839a8SMatthias Ringwald /// Let app delay stream configurartion 65*bf0839a8SMatthias Ringwald #define ENABLE_AVDTP_ACCEPTOR_EXPLICIT_START_STREAM_CONFIRMATION 66e6ce01a5SMatthias Ringwald /// Allow defer of LINK Key Reply 67e6ce01a5SMatthias Ringwald #define ENABLE_EXPLICIT_LINK_KEY_REPLY 68*bf0839a8SMatthias Ringwald /// Trigger L2CAP Information Requests to get supported fixed channels 69f6fafc24SMatthias Ringwald #define ENABLE_L2CAP_INFORMATION_REQUESTS_ON_CONNECT 70415a769fSMatthias Ringwald 71415a769fSMatthias Ringwald #define ENABLE_HFP_WIDE_BAND_SPEECH 72415a769fSMatthias Ringwald #define ENABLE_L2CAP_ENHANCED_RETRANSMISSION_MODE 73e6ce01a5SMatthias Ringwald #define ENABLE_L2CAP_ENHANCED_RETRANSMISSION_MODE_FOR_RFCOMM 74e6ce01a5SMatthias Ringwald #define ENABLE_GOEP_L2CAP 75e6ce01a5SMatthias Ringwald 76415a769fSMatthias Ringwald 77415a769fSMatthias Ringwald // cannot be used yet - mere inclusion of <stdio.h> causes compile errors 78415a769fSMatthias Ringwald // <stdio.h> is used at various places for snprintf 79415a769fSMatthias Ringwald // abort on use of printf in main library 80415a769fSMatthias Ringwald // #define printf() no_printf_please() 81415a769fSMatthias Ringwald 82415a769fSMatthias Ringwald #endif 83415a769fSMatthias Ringwald 84