56
56
#define BLE_SLAVE_LATENCY 0
57
57
#define BLE_CONN_SUP_TIMEOUT MSEC_TO_UNITS(4000, UNIT_10_MS)
58
58
59
+ #ifndef BLEIO_VS_UUID_COUNT
60
+ #define BLEIO_VS_UUID_COUNT 75
61
+ #endif
62
+
63
+ #ifndef BLEIO_HVN_TX_QUEUE_SIZE
64
+ #define BLEIO_HVN_TX_QUEUE_SIZE 9
65
+ #endif
66
+
67
+ #ifndef BLEIO_CENTRAL_ROLE_COUNT
68
+ #define BLEIO_CENTRAL_ROLE_COUNT 4
69
+ #endif
70
+
71
+ #ifndef BLEIO_PERIPH_ROLE_COUNT
72
+ #define BLEIO_PERIPH_ROLE_COUNT 4
73
+ #endif
74
+
75
+ #ifndef BLEIO_ATTR_TAB_SIZE
76
+ #define BLEIO_ATTR_TAB_SIZE (BLE_GATTS_ATTR_TAB_SIZE_DEFAULT * 5)
77
+ #endif
78
+
59
79
const nvm_bytearray_obj_t common_hal_bleio_nvm_obj = {
60
80
.base = {
61
81
.type = & nvm_bytearray_type ,
@@ -124,9 +144,9 @@ STATIC uint32_t ble_stack_enable(void) {
124
144
// adv_set_count must be == 1 for S140. Cannot be increased.
125
145
ble_conf .gap_cfg .role_count_cfg .adv_set_count = 1 ;
126
146
// periph_role_count costs 1232 bytes for 2 to 3, then ~1840 for each further increment.
127
- ble_conf .gap_cfg .role_count_cfg .periph_role_count = 4 ;
147
+ ble_conf .gap_cfg .role_count_cfg .periph_role_count = BLEIO_PERIPH_ROLE_COUNT ;
128
148
// central_role_count costs 648 bytes for 1 to 2, then ~1250 for each further increment.
129
- ble_conf .gap_cfg .role_count_cfg .central_role_count = 4 ;
149
+ ble_conf .gap_cfg .role_count_cfg .central_role_count = BLEIO_CENTRAL_ROLE_COUNT ;
130
150
err_code = sd_ble_cfg_set (BLE_GAP_CFG_ROLE_COUNT , & ble_conf , app_ram_start );
131
151
if (err_code != NRF_SUCCESS ) {
132
152
return err_code ;
@@ -137,7 +157,7 @@ STATIC uint32_t ble_stack_enable(void) {
137
157
// Each increment to hvn_tx_queue_size costs 2064 bytes.
138
158
// DevZone recommends not setting this directly, but instead changing gap_conn_cfg.event_length.
139
159
// However, we are setting connection extension, so this seems to make sense.
140
- ble_conf .conn_cfg .params .gatts_conn_cfg .hvn_tx_queue_size = 9 ;
160
+ ble_conf .conn_cfg .params .gatts_conn_cfg .hvn_tx_queue_size = BLEIO_HVN_TX_QUEUE_SIZE ;
141
161
err_code = sd_ble_cfg_set (BLE_CONN_CFG_GATTS , & ble_conf , app_ram_start );
142
162
if (err_code != NRF_SUCCESS ) {
143
163
return err_code ;
@@ -156,7 +176,7 @@ STATIC uint32_t ble_stack_enable(void) {
156
176
// and anything the user does.
157
177
memset (& ble_conf , 0 , sizeof (ble_conf ));
158
178
// Each increment to the BLE_GATTS_ATTR_TAB_SIZE_DEFAULT multiplier costs 1408 bytes.
159
- ble_conf .gatts_cfg .attr_tab_size .attr_tab_size = BLE_GATTS_ATTR_TAB_SIZE_DEFAULT * 5 ;
179
+ ble_conf .gatts_cfg .attr_tab_size .attr_tab_size = BLEIO_ATTR_TAB_SIZE ;
160
180
err_code = sd_ble_cfg_set (BLE_GATTS_CFG_ATTR_TAB_SIZE , & ble_conf , app_ram_start );
161
181
if (err_code != NRF_SUCCESS ) {
162
182
return err_code ;
@@ -166,7 +186,7 @@ STATIC uint32_t ble_stack_enable(void) {
166
186
// service and characteristic.
167
187
memset (& ble_conf , 0 , sizeof (ble_conf ));
168
188
// Each additional vs_uuid_count costs 16 bytes.
169
- ble_conf .common_cfg .vs_uuid_cfg .vs_uuid_count = 75 ; // Defaults to 10.
189
+ ble_conf .common_cfg .vs_uuid_cfg .vs_uuid_count = BLEIO_VS_UUID_COUNT ; // Defaults to 10.
170
190
err_code = sd_ble_cfg_set (BLE_COMMON_CFG_VS_UUID , & ble_conf , app_ram_start );
171
191
if (err_code != NRF_SUCCESS ) {
172
192
return err_code ;
0 commit comments