83 lines
2.6 KiB
C
83 lines
2.6 KiB
C
#ifndef _PICO_BTSTACK_BTSTACK_CONFIG_H
|
|
#define _PICO_BTSTACK_BTSTACK_CONFIG_H
|
|
|
|
// Based on Bluepad32's official Pico W configuration. ENABLE_BLE and
|
|
// ENABLE_CLASSIC are supplied by the corresponding Pico SDK BTstack targets.
|
|
#define ENABLE_LOG_INFO
|
|
#define ENABLE_LOG_ERROR
|
|
#define ENABLE_PRINTF_HEXDUMP
|
|
#define ENABLE_SCO_OVER_HCI
|
|
|
|
#ifdef ENABLE_BLE
|
|
#define ENABLE_GATT_CLIENT_PAIRING
|
|
#define ENABLE_L2CAP_LE_CREDIT_BASED_FLOW_CONTROL_MODE
|
|
#define ENABLE_LE_CENTRAL
|
|
#define ENABLE_LE_DATA_LENGTH_EXTENSION
|
|
#define ENABLE_LE_PERIPHERAL
|
|
#define ENABLE_LE_PRIVACY_ADDRESS_RESOLUTION
|
|
#define ENABLE_LE_RESOLVING_LIST
|
|
#define ENABLE_LE_SECURE_CONNECTIONS
|
|
#else
|
|
#error "BP32: ENABLE_BLE should be defined"
|
|
#endif
|
|
|
|
#ifdef ENABLE_CLASSIC
|
|
#define ENABLE_L2CAP_ENHANCED_RETRANSMISSION_MODE
|
|
#define ENABLE_GOEP_L2CAP
|
|
#else
|
|
#error "BP32: ENABLE_CLASSIC should be defined"
|
|
#endif
|
|
|
|
#if defined(ENABLE_CLASSIC) && defined(ENABLE_BLE)
|
|
#define ENABLE_CROSS_TRANSPORT_KEY_DERIVATION
|
|
#endif
|
|
|
|
#define HCI_OUTGOING_PRE_BUFFER_SIZE 4
|
|
#define HCI_ACL_PAYLOAD_SIZE (1691 + 4)
|
|
#define HCI_ACL_CHUNK_SIZE_ALIGNMENT 4
|
|
#define MAX_NR_AVDTP_CONNECTIONS 1
|
|
#define MAX_NR_AVDTP_STREAM_ENDPOINTS 1
|
|
#define MAX_NR_AVRCP_CONNECTIONS 2
|
|
#define MAX_NR_BNEP_CHANNELS 1
|
|
#define MAX_NR_BNEP_SERVICES 1
|
|
#define MAX_NR_BTSTACK_LINK_KEY_DB_MEMORY_ENTRIES 2
|
|
#define MAX_NR_GATT_CLIENTS 4
|
|
#define MAX_NR_HCI_CONNECTIONS 4
|
|
#define MAX_NR_HID_HOST_CONNECTIONS 4
|
|
#define MAX_NR_HIDS_CLIENTS 4
|
|
#define MAX_NR_HFP_CONNECTIONS 1
|
|
#define MAX_NR_L2CAP_CHANNELS 10
|
|
#define MAX_NR_L2CAP_SERVICES 5
|
|
#define MAX_NR_RFCOMM_CHANNELS 1
|
|
#define MAX_NR_RFCOMM_MULTIPLEXERS 1
|
|
#define MAX_NR_RFCOMM_SERVICES 1
|
|
#define MAX_NR_SERVICE_RECORD_ITEMS 4
|
|
#define MAX_NR_SM_LOOKUP_ENTRIES 3
|
|
#define MAX_NR_WHITELIST_ENTRIES 16
|
|
#define MAX_NR_LE_DEVICE_DB_ENTRIES 16
|
|
|
|
// Keep controller buffers and controller-to-host flow control enabled to avoid
|
|
// overrunning the shared CYW43 bus.
|
|
#define MAX_NR_CONTROLLER_ACL_BUFFERS 3
|
|
#define MAX_NR_CONTROLLER_SCO_PACKETS 3
|
|
#define ENABLE_HCI_CONTROLLER_TO_HOST_FLOW_CONTROL
|
|
#define HCI_HOST_ACL_PACKET_LEN 1024
|
|
#define HCI_HOST_ACL_PACKET_NUM 3
|
|
#define HCI_HOST_SCO_PACKET_LEN 120
|
|
#define HCI_HOST_SCO_PACKET_NUM 3
|
|
|
|
// Persistent Classic and BLE pairing databases use Pico flash-backed TLV.
|
|
#define NVM_NUM_DEVICE_DB_ENTRIES 16
|
|
#define NVM_NUM_LINK_KEYS 16
|
|
|
|
// Bluepad32 does not provide malloc to BTstack.
|
|
#define MAX_ATT_DB_SIZE 512
|
|
|
|
#define HAVE_EMBEDDED_TIME_MS
|
|
#define HAVE_ASSERT
|
|
#define HCI_RESET_RESEND_TIMEOUT_MS 1000
|
|
#define ENABLE_SOFTWARE_AES128
|
|
#define ENABLE_MICRO_ECC_FOR_LE_SECURE_CONNECTIONS
|
|
#define HAVE_BTSTACK_STDIN
|
|
|
|
#endif // _PICO_BTSTACK_BTSTACK_CONFIG_H
|