|
1 | | -/** |
2 | | - ****************************************************************************** |
3 | | - * @file app_conf.h |
4 | | - * @author MCD Application Team |
5 | | - * @brief Application configuration file for STM32WPAN Middleware. |
6 | | - ****************************************************************************** |
7 | | - * @attention |
8 | | - * |
9 | | - * Copyright (c) 2020-2021 STMicroelectronics. |
10 | | - * All rights reserved. |
11 | | - * |
12 | | - * This software is licensed under terms that can be found in the LICENSE file |
13 | | - * in the root directory of this software component. |
14 | | - * If no LICENSE file comes with this software, it is provided AS-IS. |
15 | | - * |
16 | | - ****************************************************************************** |
17 | | - */ |
| 1 | +//----------------------------- |
| 2 | +// @file app_conf.h |
| 3 | +// @author Kasper Meldgaard |
| 4 | +// @brief Wrapper for BLE app configuration based on comment by fpistm |
| 5 | +// (https://github.com/stm32duino/STM32duinoBLE/issues/34). |
| 6 | +// @date 15-11-2021 |
| 7 | +// @copyright Copyright (c) 2021 |
18 | 8 |
|
19 | | -/* Define to prevent recursive inclusion -------------------------------------*/ |
20 | 9 | #ifndef APP_CONF_H |
21 | 10 | #define APP_CONF_H |
22 | 11 |
|
23 | 12 | #include "hw.h" |
24 | 13 | #include "ble_bufsize.h" |
25 | 14 |
|
26 | | -/****************************************************************************** |
27 | | - * Application Config |
28 | | - ******************************************************************************/ |
29 | | - |
30 | | -/**< generic parameters ******************************************************/ |
31 | | -/* HCI related defines */ |
32 | | - |
33 | | -#define ACI_HAL_SET_TX_POWER_LEVEL 0xFC0F |
34 | | -#define ACI_WRITE_CONFIG_DATA_OPCODE 0xFC0C |
35 | | -#define ACI_READ_CONFIG_DATA_OPCODE 0xFC0D |
36 | | -#define MAX_HCI_ACL_PACKET_SIZE (sizeof(TL_PacketHeader_t) + 5 + 251) |
37 | | -#define HCI_RESET 0x0C03 |
38 | | - |
39 | | -#ifndef BLE_SHARED_MEM_BYTE_ORDER |
40 | | - #define BLE_SHARED_MEM_BYTE_ORDER MSBFIRST |
| 15 | +#if __has_include("app_conf_custom.h") |
| 16 | + #include "app_conf_custom.h" |
41 | 17 | #endif |
42 | | -#define BLE_MODULE_SHARED_MEM_BUFFER_SIZE 128 |
43 | | - |
44 | | -/** |
45 | | - * Define Tx Power |
46 | | - */ |
47 | | -#define CFG_TX_POWER (0x18) /* -0.15dBm */ |
48 | | - |
49 | | -/****************************************************************************** |
50 | | - * BLE Stack |
51 | | - ******************************************************************************/ |
52 | | -/** |
53 | | - * Maximum number of simultaneous connections that the device will support. |
54 | | - * Valid values are from 1 to 8 |
55 | | - */ |
56 | | -#define CFG_BLE_NUM_LINK 2 |
57 | | - |
58 | | -/** |
59 | | - * Maximum number of Services that can be stored in the GATT database. |
60 | | - * Note that the GAP and GATT services are automatically added so this parameter should be 2 plus the number of user services |
61 | | - */ |
62 | | -#define CFG_BLE_NUM_GATT_SERVICES 8 |
63 | | - |
64 | | -/** |
65 | | - * Maximum number of Attributes |
66 | | - * (i.e. the number of characteristic + the number of characteristic values + the number of descriptors, excluding the services) |
67 | | - * that can be stored in the GATT database. |
68 | | - * Note that certain characteristics and relative descriptors are added automatically during device initialization |
69 | | - * so this parameters should be 9 plus the number of user Attributes |
70 | | - */ |
71 | | -#define CFG_BLE_NUM_GATT_ATTRIBUTES 68 |
72 | | - |
73 | | -/** |
74 | | - * Maximum supported ATT_MTU size |
75 | | - * This parameter is ignored by the CPU2 when CFG_BLE_OPTIONS is set to 1" |
76 | | - */ |
77 | | -#define CFG_BLE_MAX_ATT_MTU (156) |
78 | | - |
79 | | -/** |
80 | | - * Size of the storage area for Attribute values |
81 | | - * This value depends on the number of attributes used by application. In particular the sum of the following quantities (in octets) should be made for each attribute: |
82 | | - * - attribute value length |
83 | | - * - 5, if UUID is 16 bit; 19, if UUID is 128 bit |
84 | | - * - 2, if server configuration descriptor is used |
85 | | - * - 2*DTM_NUM_LINK, if client configuration descriptor is used |
86 | | - * - 2, if extended properties is used |
87 | | - * The total amount of memory needed is the sum of the above quantities for each attribute. |
88 | | - * This parameter is ignored by the CPU2 when CFG_BLE_OPTIONS is set to 1" |
89 | | - */ |
90 | | -#define CFG_BLE_ATT_VALUE_ARRAY_SIZE (1344) |
91 | | - |
92 | | -/** |
93 | | - * Prepare Write List size in terms of number of packet |
94 | | - * This parameter is ignored by the CPU2 when CFG_BLE_OPTIONS is set to 1" |
95 | | - */ |
96 | | -// #define CFG_BLE_PREPARE_WRITE_LIST_SIZE BLE_PREP_WRITE_X_ATT(CFG_BLE_MAX_ATT_MTU) |
97 | | -#define CFG_BLE_PREPARE_WRITE_LIST_SIZE (0x3A) |
98 | | - |
99 | | -/** |
100 | | - * Number of allocated memory blocks |
101 | | - * This parameter is overwritten by the CPU2 with an hardcoded optimal value when the parameter when CFG_BLE_OPTIONS is set to 1 |
102 | | - */ |
103 | | -// #define CFG_BLE_MBLOCK_COUNT (BLE_MBLOCKS_CALC(CFG_BLE_PREPARE_WRITE_LIST_SIZE, CFG_BLE_MAX_ATT_MTU, CFG_BLE_NUM_LINK)) |
104 | | -#define CFG_BLE_MBLOCK_COUNT (0x79) |
105 | | - |
106 | | -/** |
107 | | - * Enable or disable the Extended Packet length feature. Valid values are 0 or 1. |
108 | | - */ |
109 | | -#define CFG_BLE_DATA_LENGTH_EXTENSION 1 |
110 | | - |
111 | | -/** |
112 | | - * Sleep clock accuracy in Slave mode (ppm value) |
113 | | - */ |
114 | | -#define CFG_BLE_SLAVE_SCA 500 |
115 | | - |
116 | | -/** |
117 | | - * Sleep clock accuracy in Master mode |
118 | | - * 0 : 251 ppm to 500 ppm |
119 | | - * 1 : 151 ppm to 250 ppm |
120 | | - * 2 : 101 ppm to 150 ppm |
121 | | - * 3 : 76 ppm to 100 ppm |
122 | | - * 4 : 51 ppm to 75 ppm |
123 | | - * 5 : 31 ppm to 50 ppm |
124 | | - * 6 : 21 ppm to 30 ppm |
125 | | - * 7 : 0 ppm to 20 ppm |
126 | | - */ |
127 | | -#define CFG_BLE_MASTER_SCA 0 |
128 | | - |
129 | | -/** |
130 | | - * Source for the low speed clock for RF wake-up |
131 | | - * 1 : external high speed crystal HSE/32/32 |
132 | | - * 0 : external low speed crystal ( no calibration ) |
133 | | - */ |
134 | | -#define CFG_BLE_LSE_SOURCE 0 |
135 | | - |
136 | | -/** |
137 | | - * Start up time of the high speed (16 or 32 MHz) crystal oscillator in units of 625/256 us (~2.44 us) |
138 | | - */ |
139 | | -#define CFG_BLE_HSE_STARTUP_TIME 0x148 |
140 | | - |
141 | | -/** |
142 | | - * Maximum duration of the connection event when the device is in Slave mode in units of 625/256 us (~2.44 us) |
143 | | - */ |
144 | | -#define CFG_BLE_MAX_CONN_EVENT_LENGTH (0xFFFFFFFF) |
145 | | - |
146 | | -/** |
147 | | - * Viterbi Mode |
148 | | - * 1 : enabled |
149 | | - * 0 : disabled |
150 | | - */ |
151 | | -#define CFG_BLE_VITERBI_MODE 1 |
152 | | - |
153 | | -/** |
154 | | - * BLE stack Options flags to be configured with: |
155 | | - * - SHCI_C2_BLE_INIT_OPTIONS_LL_ONLY |
156 | | - * - SHCI_C2_BLE_INIT_OPTIONS_LL_HOST |
157 | | - * - SHCI_C2_BLE_INIT_OPTIONS_NO_SVC_CHANGE_DESC |
158 | | - * - SHCI_C2_BLE_INIT_OPTIONS_WITH_SVC_CHANGE_DESC |
159 | | - * - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RO |
160 | | - * - SHCI_C2_BLE_INIT_OPTIONS_DEVICE_NAME_RW |
161 | | - * - SHCI_C2_BLE_INIT_OPTIONS_EXT_ADV |
162 | | - * - SHCI_C2_BLE_INIT_OPTIONS_NO_EXT_ADV |
163 | | - * - SHCI_C2_BLE_INIT_OPTIONS_CS_ALGO2 |
164 | | - * - SHCI_C2_BLE_INIT_OPTIONS_NO_CS_ALGO2 |
165 | | - * - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_1 |
166 | | - * - SHCI_C2_BLE_INIT_OPTIONS_POWER_CLASS_2_3 |
167 | | - * which are used to set following configuration bits: |
168 | | - * (bit 0): 1: LL only |
169 | | - * 0: LL + host |
170 | | - * (bit 1): 1: no service change desc. |
171 | | - * 0: with service change desc. |
172 | | - * (bit 2): 1: device name Read-Only |
173 | | - * 0: device name R/W |
174 | | - * (bit 3): 1: extended advertizing supported [NOT SUPPORTED] |
175 | | - * 0: extended advertizing not supported [NOT SUPPORTED] |
176 | | - * (bit 4): 1: CS Algo #2 supported |
177 | | - * 0: CS Algo #2 not supported |
178 | | - * (bit 7): 1: LE Power Class 1 |
179 | | - * 0: LE Power Class 2-3 |
180 | | - * other bits: reserved (shall be set to 0) |
181 | | - */ |
182 | | -#define CFG_BLE_OPTIONS (_BLE_INIT_OPTIONS_LL_ONLY) |
183 | | - |
184 | | -#define CFG_BLE_MAX_COC_INITIATOR_NBR (32) |
185 | | - |
186 | | -#define CFG_BLE_MIN_TX_POWER (0) |
187 | | - |
188 | | -#define CFG_BLE_MAX_TX_POWER (0) |
189 | | - |
190 | | -/** |
191 | | - * BLE Rx model configuration flags to be configured with: |
192 | | - * - SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_LEGACY |
193 | | - * - SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_BLOCKER |
194 | | - * which are used to set following configuration bits: |
195 | | - * (bit 0): 1: agc_rssi model improved vs RF blockers |
196 | | - * 0: Legacy agc_rssi model |
197 | | - * other bits: reserved (shall be set to 0) |
198 | | - */ |
199 | | - |
200 | | -#define CFG_BLE_RX_MODEL_CONFIG SHCI_C2_BLE_INIT_RX_MODEL_AGC_RSSI_LEGACY |
201 | | - |
| 18 | +#include "app_conf_default.h" |
202 | 19 |
|
203 | | -#endif /*APP_CONF_H */ |
| 20 | +#endif /* APP_CONF_H */ |
0 commit comments