xref: /btstack/port/posix-h4-da14585/btstack_config.h (revision f5228c62dfa305f00bfdabbb48dafdc0b8919667)
1ecde56a6SMatthias Ringwald //
2ecde56a6SMatthias Ringwald // btstack_config.h for generic POSIX H4 port
3ecde56a6SMatthias Ringwald //
4ecde56a6SMatthias Ringwald 
5ecde56a6SMatthias Ringwald #ifndef __BTSTACK_CONFIG
6ecde56a6SMatthias Ringwald #define __BTSTACK_CONFIG
7ecde56a6SMatthias Ringwald 
8ecde56a6SMatthias Ringwald // Port related features
9ecde56a6SMatthias Ringwald #define HAVE_MALLOC
10ecde56a6SMatthias Ringwald #define HAVE_POSIX_FILE_IO
11ecde56a6SMatthias Ringwald #define HAVE_BTSTACK_STDIN
12ecde56a6SMatthias Ringwald #define HAVE_POSIX_TIME
13ecde56a6SMatthias Ringwald 
14ecde56a6SMatthias Ringwald // BTstack features that can be enabled
15ecde56a6SMatthias Ringwald #define ENABLE_BLE
16ecde56a6SMatthias Ringwald #define ENABLE_LE_CENTRAL
17ecde56a6SMatthias Ringwald #define ENABLE_LE_PERIPHERAL
18ecde56a6SMatthias Ringwald #define ENABLE_LE_SECURE_CONNECTIONS
19ecde56a6SMatthias Ringwald #define ENABLE_MICRO_ECC_FOR_LE_SECURE_CONNECTIONS
20ecde56a6SMatthias Ringwald #define ENABLE_LE_DATA_CHANNELS
21ecde56a6SMatthias Ringwald #define ENABLE_LE_DATA_LENGTH_EXTENSION
22b596325dSMatthias Ringwald #define ENABLE_LE_PRIVACY_ADDRESS_RESOLUTION
23ecde56a6SMatthias Ringwald #define ENABLE_LOG_ERROR
24ecde56a6SMatthias Ringwald #define ENABLE_LOG_INFO
2583a9d906SMatthias Ringwald 
2683a9d906SMatthias Ringwald // work around bug in Controller ACL fragmentation
2783a9d906SMatthias Ringwald #define ENABLE_LE_LIMIT_ACL_FRAGMENT_BY_MAX_OCTETS
28ecde56a6SMatthias Ringwald 
29*f5228c62SMatthias Ringwald // work around bug in Controller
30*f5228c62SMatthias Ringwald #define ENABLE_LE_WHITELIST_TOUCH_AFTER_RESOLVING_LIST_UPDATE
31*f5228c62SMatthias Ringwald 
32*f5228c62SMatthias Ringwald 
33ecde56a6SMatthias Ringwald // BTstack configuration. buffers, sizes, ...
34ecde56a6SMatthias Ringwald #define HCI_INCOMING_PRE_BUFFER_SIZE 14 // sizeof benep heade, avoid memcpy
35ecde56a6SMatthias Ringwald #define HCI_ACL_PAYLOAD_SIZE (1691 + 4)
36ecde56a6SMatthias Ringwald 
3781862996SMatthias Ringwald #define NVM_NUM_DEVICE_DB_ENTRIES      20
38e514a7f5SMatthias Ringwald 
39e514a7f5SMatthias Ringwald // Mesh Configuration
40e514a7f5SMatthias Ringwald #define ENABLE_MESH
41e514a7f5SMatthias Ringwald #define ENABLE_MESH_ADV_BEARER
42e514a7f5SMatthias Ringwald #define ENABLE_MESH_GATT_BEARER
43e514a7f5SMatthias Ringwald #define ENABLE_MESH_PB_ADV
44e514a7f5SMatthias Ringwald #define ENABLE_MESH_PB_GATT
45e514a7f5SMatthias Ringwald #define ENABLE_MESH_PROXY_SERVER
46e514a7f5SMatthias Ringwald #define ENABLE_MESH_PROVISIONER
47e514a7f5SMatthias Ringwald 
48e514a7f5SMatthias Ringwald #define MAX_NR_MESH_TRANSPORT_KEYS    16
49e514a7f5SMatthias Ringwald #define MAX_NR_MESH_VIRTUAL_ADDRESSES 16
50e514a7f5SMatthias Ringwald #define MAX_NR_MESH_SUBNETS            2
51e514a7f5SMatthias Ringwald 
52e514a7f5SMatthias Ringwald // allow for one NetKey update
53e514a7f5SMatthias Ringwald #define MAX_NR_MESH_NETWORK_KEYS      (MAX_NR_MESH_SUBNETS+1)
54e514a7f5SMatthias Ringwald 
55ecde56a6SMatthias Ringwald #endif
56ecde56a6SMatthias Ringwald 
57