|
5 | 5 | *****************************************************************************
|
6 | 6 | * @attention
|
7 | 7 | *
|
8 |
| - * Copyright (c) 2018-2023 STMicroelectronics. |
| 8 | + * Copyright (c) 2018-2024 STMicroelectronics. |
9 | 9 | * All rights reserved.
|
10 | 10 | *
|
11 | 11 | * This software is licensed under terms that can be found in the LICENSE file
|
|
35 | 35 | * equal to BLE_DEFAULT_ATT_MTU (23).
|
36 | 36 | */
|
37 | 37 | #define BLE_PREP_WRITE_X_ATT(max_att) \
|
38 |
| - (DIVC(max_att, BLE_DEFAULT_ATT_MTU - 5) * 2) |
| 38 | + (DIVC(max_att, BLE_DEFAULT_ATT_MTU - 5) * 2) |
39 | 39 |
|
40 | 40 | /*
|
41 | 41 | * BLE_DEFAULT_PREP_WRITE_LIST_SIZE: default minimum Prepare Write List size.
|
42 | 42 | */
|
43 | 43 | #define BLE_DEFAULT_PREP_WRITE_LIST_SIZE \
|
44 |
| - BLE_PREP_WRITE_X_ATT(BLE_DEFAULT_MAX_ATT_SIZE) |
| 44 | + BLE_PREP_WRITE_X_ATT(BLE_DEFAULT_MAX_ATT_SIZE) |
45 | 45 |
|
46 | 46 | /*
|
47 | 47 | * BLE_MEM_BLOCK_X_MTU: compute how many memory blocks are needed to compose
|
48 | 48 | * an ATT packet with ATT_MTU=mtu.
|
49 | 49 | */
|
50 | 50 | #define BLE_MEM_BLOCK_SIZE 32
|
51 | 51 |
|
| 52 | +#if (SLAVE_ONLY != 0) ||(BASIC_FEATURES != 0) |
| 53 | +#define BLE_MEM_BLOCK_X_PTX(n_link) 0 |
| 54 | +#else |
| 55 | +#define BLE_MEM_BLOCK_X_PTX(n_link) (n_link) |
| 56 | +#endif |
| 57 | + |
52 | 58 | #define BLE_MEM_BLOCK_X_TX(mtu) \
|
53 |
| - (DIVC((mtu) + 4U, BLE_MEM_BLOCK_SIZE) + 1U) |
| 59 | + (DIVC((mtu) + 4U, BLE_MEM_BLOCK_SIZE) + 1) |
54 | 60 |
|
55 | 61 | #define BLE_MEM_BLOCK_X_RX(mtu, n_link) \
|
56 |
| - ((DIVC((mtu) + 4U, BLE_MEM_BLOCK_SIZE) + 2U) * (n_link) + 1) |
| 62 | + ((DIVC((mtu) + 4U, BLE_MEM_BLOCK_SIZE) + 2U) * (n_link) + 1) |
57 | 63 |
|
58 | 64 | #define BLE_MEM_BLOCK_X_MTU(mtu, n_link) \
|
59 |
| - (BLE_MEM_BLOCK_X_TX(mtu) + BLE_MEM_BLOCK_X_RX(mtu, n_link)) |
| 65 | + (BLE_MEM_BLOCK_X_TX(mtu) + BLE_MEM_BLOCK_X_PTX(n_link) + \ |
| 66 | + BLE_MEM_BLOCK_X_RX(mtu, n_link)) |
60 | 67 |
|
61 | 68 | /*
|
62 | 69 | * BLE_MBLOCKS_SECURE_CONNECTIONS: minimum number of blocks required for
|
|
72 | 79 | * - n_link: maximum number of simultaneous connections
|
73 | 80 | */
|
74 | 81 | #define BLE_MBLOCKS_CALC(pw, mtu, n_link) \
|
75 |
| - ((pw) + MAX(BLE_MEM_BLOCK_X_MTU(mtu, n_link), \ |
76 |
| - BLE_MBLOCKS_SECURE_CONNECTIONS)) |
| 82 | + ((pw) + MAX(BLE_MEM_BLOCK_X_MTU(mtu, n_link), \ |
| 83 | + BLE_MBLOCKS_SECURE_CONNECTIONS)) |
77 | 84 |
|
78 | 85 | /*
|
79 | 86 | * BLE_FIXED_BUFFER_SIZE_BYTES:
|
|
90 | 97 | * mentioned parameters.
|
91 | 98 | */
|
92 | 99 | #if (BEACON_ONLY != 0)
|
93 |
| -#define BLE_FIXED_BUFFER_SIZE_BYTES 4092 /* Beacon only */ |
| 100 | +#define BLE_FIXED_BUFFER_SIZE_BYTES 4100 /* Beacon only */ |
94 | 101 | #elif (LL_ONLY_BASIC != 0)
|
95 |
| -#define BLE_FIXED_BUFFER_SIZE_BYTES 5788 /* LL only Basic*/ |
| 102 | +#define BLE_FIXED_BUFFER_SIZE_BYTES 6040 /* LL only Basic*/ |
96 | 103 | #elif (LL_ONLY != 0)
|
97 |
| -#define BLE_FIXED_BUFFER_SIZE_BYTES 6036 /* LL only Full */ |
| 104 | +#define BLE_FIXED_BUFFER_SIZE_BYTES 6288 /* LL only Full */ |
98 | 105 | #elif (SLAVE_ONLY != 0)
|
99 |
| -#define BLE_FIXED_BUFFER_SIZE_BYTES 6300 /* Peripheral only */ |
| 106 | +#define BLE_FIXED_BUFFER_SIZE_BYTES 6408 /* Peripheral only */ |
100 | 107 | #elif (BASIC_FEATURES != 0)
|
101 |
| -#define BLE_FIXED_BUFFER_SIZE_BYTES 6632 /* Basic Features */ |
| 108 | +#define BLE_FIXED_BUFFER_SIZE_BYTES 7184 /* Basic Features */ |
102 | 109 | #else
|
103 |
| -#define BLE_FIXED_BUFFER_SIZE_BYTES 7152 /* Full stack */ |
| 110 | +#define BLE_FIXED_BUFFER_SIZE_BYTES 7468 /* Full stack */ |
104 | 111 | #endif
|
105 | 112 |
|
106 | 113 | /*
|
107 | 114 | * BLE_PER_LINK_SIZE_BYTES: additional memory size used per link
|
108 | 115 | */
|
109 | 116 | #if (BEACON_ONLY != 0)
|
110 |
| -#define BLE_PER_LINK_SIZE_BYTES 112 /* Beacon only */ |
| 117 | +#define BLE_PER_LINK_SIZE_BYTES 108 /* Beacon only */ |
111 | 118 | #elif (LL_ONLY_BASIC != 0)
|
112 | 119 | #define BLE_PER_LINK_SIZE_BYTES 244 /* LL only Basic */
|
113 | 120 | #elif (LL_ONLY != 0)
|
114 | 121 | #define BLE_PER_LINK_SIZE_BYTES 244 /* LL only Full */
|
115 | 122 | #elif (SLAVE_ONLY != 0)
|
116 |
| -#define BLE_PER_LINK_SIZE_BYTES 344 /* Peripheral only */ |
| 123 | +#define BLE_PER_LINK_SIZE_BYTES 392 /* Peripheral only */ |
117 | 124 | #elif (BASIC_FEATURES != 0)
|
118 | 125 | #define BLE_PER_LINK_SIZE_BYTES 420 /* Basic Features */
|
119 | 126 | #else
|
|
131 | 138 | * @param mblocks_count: Number of memory blocks allocated for packets.
|
132 | 139 | */
|
133 | 140 | #define BLE_TOTAL_BUFFER_SIZE(n_link, mblocks_count) \
|
134 |
| - (16 + BLE_FIXED_BUFFER_SIZE_BYTES + \ |
135 |
| - (BLE_PER_LINK_SIZE_BYTES * (n_link)) + \ |
136 |
| - ((BLE_MEM_BLOCK_SIZE + 12) * (mblocks_count))) |
| 141 | + (16 + BLE_FIXED_BUFFER_SIZE_BYTES + \ |
| 142 | + (BLE_PER_LINK_SIZE_BYTES * (n_link)) + \ |
| 143 | + ((BLE_MEM_BLOCK_SIZE + 8) * (mblocks_count))) |
137 | 144 |
|
138 | 145 | /*
|
139 | 146 | * BLE_EXT_ADV_BUFFER_SIZE
|
|
148 | 155 | * Valid values are from 31 to 1650.
|
149 | 156 | */
|
150 | 157 | #define BLE_EXT_ADV_BUFFER_SIZE(set_nbr, data_len) \
|
151 |
| - (2512 + ((892 + (DIVC(data_len, 207) * 244)) * (set_nbr))) |
| 158 | + (2512 + ((892 + (DIVC(data_len, 207) * 244)) * (set_nbr))) |
152 | 159 |
|
153 | 160 | /*
|
154 | 161 | * BLE_TOTAL_BUFFER_SIZE_GATT: this macro returns the amount of memory,
|
|
168 | 175 | * @param att_value_array_size: Size of the storage area for Attribute values.
|
169 | 176 | */
|
170 | 177 | #define BLE_TOTAL_BUFFER_SIZE_GATT(num_gatt_attributes, num_gatt_services, att_value_array_size) \
|
171 |
| - (((((att_value_array_size) - 1) | 3) + 1) + \ |
172 |
| - (40 * (num_gatt_attributes)) + (48 * (num_gatt_services))) |
| 178 | + (((((att_value_array_size) - 1) | 3) + 1) + \ |
| 179 | + (40 * (num_gatt_attributes)) + (48 * (num_gatt_services))) |
173 | 180 |
|
174 | 181 |
|
175 | 182 | #endif /* BLE_BUFSIZE_H__ */
|
0 commit comments