Skip to content

Commit 42b2d4a

Browse files
committed
lib/stm32: update stm32wb0 to cube version V1.4.0
Update Cube version for STM32WB0x series on https://github.com/STMicroelectronics from version v1.1.0 to version v1.4.0 Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
1 parent 605fa22 commit 42b2d4a

File tree

20 files changed

+2222
-1618
lines changed

20 files changed

+2222
-1618
lines changed

lib/stm32wb0/BLE_TransparentMode/Core/Inc/app_conf.h

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,11 @@
6161
#ifndef __ZEPHYR__
6262
/* It is handled by CMakeLists.txt */
6363
#define CFG_BLE_NUM_RADIO_TASKS (CFG_NUM_RADIO_TASKS)
64-
#endif
64+
#endif /* __ZEPHYR__ */
6565

6666
/**
67-
* Maximum number of Attributes that can be stored in the GATT database.
67+
* Maximum number of attributes that can be stored in the GATT database in addition to the attributes number already defined for the GATT and GAP services
68+
* (BLE_STACK_NUM_GATT_MANDATORY_ATTRIBUTES value on STM32_BLE middleware, ble_stack.h header file).
6869
*/
6970
#define CFG_BLE_NUM_GATT_ATTRIBUTES (60)
7071

@@ -108,7 +109,7 @@
108109
*/
109110
#ifndef __ZEPHYR__
110111
#define CFG_BLE_NUM_EATT_CHANNELS (6)
111-
#endif
112+
#endif /* __ZEPHYR__ */
112113

113114
/**
114115
* Maximum number of channels in LE Credit Based Flow Control mode [0-255].
@@ -129,7 +130,7 @@
129130
#ifndef __ZEPHYR__
130131
/* It is handled by CMakeLists.txt */
131132
#define CFG_BLE_NUM_ADV_SETS (2)
132-
#endif
133+
#endif /* __ZEPHYR__ */
133134

134135
/**
135136
* Maximum number of Periodic Advertising with Responses subevents.
@@ -147,7 +148,7 @@
147148
*/
148149
#ifndef __ZEPHYR__
149150
#define CFG_BLE_NUM_AUX_SCAN_SLOTS (4)
150-
#endif
151+
#endif /* __ZEPHYR__ */
151152

152153
/**
153154
* Maximum number of slots for synchronizing to a periodic advertising train,
@@ -156,7 +157,7 @@
156157
#ifndef __ZEPHYR__
157158
/* It is handled by CMakeLists.txt */
158159
#define CFG_BLE_NUM_SYNC_SLOTS (2)
159-
#endif
160+
#endif /* __ZEPHYR__ */
160161

161162
/**
162163
* Two's logarithm of Filter Accept, Resolving and Advertiser list size.
@@ -206,6 +207,12 @@
206207
#define CFG_BLE_NUM_CIS_MAX (2U)
207208
#endif /* __ZEPHYR__ */
208209

210+
/**
211+
* Maximum number of simultaneous Link Layer procedures that can be managed, in addition to the minimum required by the stack.
212+
* The minimum number guarantees one LL procedure initiated by the peer for each link, one LL procedure automatically initiated by the Controller and one LL procedure initiated by the Host.
213+
*/
214+
#define CFG_BLE_EXTRA_LL_PROCEDURE_CONTEXTS (0)
215+
209216
/**
210217
* Size of the internal FIFO used for critical controller events produced by the
211218
* ISR (e.g. rx data packets).
@@ -266,6 +273,7 @@
266273
CFG_BLE_NUM_BRC_BIS_MAX,\
267274
CFG_BLE_NUM_CIG_MAX,\
268275
CFG_BLE_NUM_CIS_MAX,\
276+
CFG_BLE_EXTRA_LL_PROCEDURE_CONTEXTS,\
269277
CFG_BLE_ISR0_FIFO_SIZE,\
270278
CFG_BLE_ISR1_FIFO_SIZE,\
271279
CFG_BLE_USER_FIFO_SIZE))
@@ -329,7 +337,7 @@
329337
#define CFG_BLE_CONTROLLER_BIS_ENABLED (1U)
330338
#define CFG_BLE_CONNECTION_SUBRATING_ENABLED (1U)
331339
#define CFG_BLE_CONTROLLER_CIS_ENABLED (1U)
332-
#endif
340+
#endif /* __ZEPHYR__ */
333341

334342
/******************************************************************************
335343
* Low Power
@@ -338,12 +346,17 @@
338346
* low power mode. It means that all what can have an impact on the consumptions
339347
* are powered down.(For instance LED, Access to Debugger, Etc.)
340348
*
349+
* When CFG_LPM_SUPPORTED and CFG_FULL_LOW_EMULATED are both set to 1, the system is configured to
350+
* emulate the Deepstop mode without losing the debugger connection and breakpoints nor watchpoints.
351+
*
341352
******************************************************************************/
342353

343354
#define CFG_FULL_LOW_POWER (0)
344355

345356
#define CFG_LPM_SUPPORTED (1)
346357

358+
#define CFG_LPM_EMULATED (0)
359+
347360
/**
348361
* Low Power configuration
349362
*/

lib/stm32wb0/BLE_TransparentMode/Core/Src/stm32wb0x_hal_msp.c

Lines changed: 63 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -86,70 +86,70 @@ void HAL_MspInit(void)
8686
}
8787

8888
/**
89-
* @brief PKA MSP Initialization
90-
* This function configures the hardware resources used in this example
91-
* @param hpka: PKA handle pointer
92-
* @retval None
93-
*/
89+
* @brief PKA MSP Initialization
90+
* This function configures the hardware resources used in this example
91+
* @param hpka: PKA handle pointer
92+
* @retval None
93+
*/
9494
void HAL_PKA_MspInit(PKA_HandleTypeDef* hpka)
9595
{
9696
if(hpka->Instance==PKA)
9797
{
98-
/* USER CODE BEGIN PKA_MspInit 0 */
98+
/* USER CODE BEGIN PKA_MspInit 0 */
9999

100-
/* USER CODE END PKA_MspInit 0 */
100+
/* USER CODE END PKA_MspInit 0 */
101101
/* Peripheral clock enable */
102102
__HAL_RCC_PKA_CLK_ENABLE();
103103
/* PKA interrupt Init */
104104
HAL_NVIC_SetPriority(PKA_IRQn, 1, 0);
105105
HAL_NVIC_EnableIRQ(PKA_IRQn);
106-
/* USER CODE BEGIN PKA_MspInit 1 */
106+
/* USER CODE BEGIN PKA_MspInit 1 */
107107

108-
/* USER CODE END PKA_MspInit 1 */
108+
/* USER CODE END PKA_MspInit 1 */
109109

110110
}
111111

112112
}
113113

114114
/**
115-
* @brief PKA MSP De-Initialization
116-
* This function freeze the hardware resources used in this example
117-
* @param hpka: PKA handle pointer
118-
* @retval None
119-
*/
115+
* @brief PKA MSP De-Initialization
116+
* This function freeze the hardware resources used in this example
117+
* @param hpka: PKA handle pointer
118+
* @retval None
119+
*/
120120
void HAL_PKA_MspDeInit(PKA_HandleTypeDef* hpka)
121121
{
122122
if(hpka->Instance==PKA)
123123
{
124-
/* USER CODE BEGIN PKA_MspDeInit 0 */
124+
/* USER CODE BEGIN PKA_MspDeInit 0 */
125125

126-
/* USER CODE END PKA_MspDeInit 0 */
126+
/* USER CODE END PKA_MspDeInit 0 */
127127
/* Peripheral clock disable */
128128
__HAL_RCC_PKA_CLK_DISABLE();
129129

130130
/* PKA interrupt DeInit */
131131
HAL_NVIC_DisableIRQ(PKA_IRQn);
132-
/* USER CODE BEGIN PKA_MspDeInit 1 */
132+
/* USER CODE BEGIN PKA_MspDeInit 1 */
133133

134-
/* USER CODE END PKA_MspDeInit 1 */
134+
/* USER CODE END PKA_MspDeInit 1 */
135135
}
136136

137137
}
138138

139139
/**
140-
* @brief RADIO MSP Initialization
141-
* This function configures the hardware resources used in this example
142-
* @param hradio: RADIO handle pointer
143-
* @retval None
144-
*/
140+
* @brief RADIO MSP Initialization
141+
* This function configures the hardware resources used in this example
142+
* @param hradio: RADIO handle pointer
143+
* @retval None
144+
*/
145145
void HAL_RADIO_MspInit(RADIO_HandleTypeDef* hradio)
146146
{
147147
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
148148
if(hradio->Instance==RADIO)
149149
{
150-
/* USER CODE BEGIN RADIO_MspInit 0 */
150+
/* USER CODE BEGIN RADIO_MspInit 0 */
151151

152-
/* USER CODE END RADIO_MspInit 0 */
152+
/* USER CODE END RADIO_MspInit 0 */
153153

154154
/** Initializes the peripherals clock
155155
*/
@@ -176,27 +176,29 @@ void HAL_RADIO_MspInit(RADIO_HandleTypeDef* hradio)
176176
HAL_NVIC_EnableIRQ(RADIO_TXRX_IRQn);
177177
HAL_NVIC_SetPriority(RADIO_TXRX_SEQ_IRQn, 0, 0);
178178
HAL_NVIC_EnableIRQ(RADIO_TXRX_SEQ_IRQn);
179-
/* USER CODE BEGIN RADIO_MspInit 1 */
179+
HAL_NVIC_SetPriority(RADIO_RRM_IRQn, 0, 0);
180+
HAL_NVIC_EnableIRQ(RADIO_RRM_IRQn);
181+
/* USER CODE BEGIN RADIO_MspInit 1 */
180182

181-
/* USER CODE END RADIO_MspInit 1 */
183+
/* USER CODE END RADIO_MspInit 1 */
182184

183185
}
184186

185187
}
186188

187189
/**
188-
* @brief RADIO MSP De-Initialization
189-
* This function freeze the hardware resources used in this example
190-
* @param hradio: RADIO handle pointer
191-
* @retval None
192-
*/
190+
* @brief RADIO MSP De-Initialization
191+
* This function freeze the hardware resources used in this example
192+
* @param hradio: RADIO handle pointer
193+
* @retval None
194+
*/
193195
void HAL_RADIO_MspDeInit(RADIO_HandleTypeDef* hradio)
194196
{
195197
if(hradio->Instance==RADIO)
196198
{
197-
/* USER CODE BEGIN RADIO_MspDeInit 0 */
199+
/* USER CODE BEGIN RADIO_MspDeInit 0 */
198200

199-
/* USER CODE END RADIO_MspDeInit 0 */
201+
/* USER CODE END RADIO_MspDeInit 0 */
200202
/* Peripheral clock disable */
201203
__HAL_RCC_RADIO_CLK_DISABLE();
202204
__HAL_RCC_RADIO_FORCE_RESET();
@@ -205,28 +207,29 @@ void HAL_RADIO_MspDeInit(RADIO_HandleTypeDef* hradio)
205207
/* RADIO interrupt DeInit */
206208
HAL_NVIC_DisableIRQ(RADIO_TXRX_IRQn);
207209
HAL_NVIC_DisableIRQ(RADIO_TXRX_SEQ_IRQn);
208-
/* USER CODE BEGIN RADIO_MspDeInit 1 */
210+
HAL_NVIC_DisableIRQ(RADIO_RRM_IRQn);
211+
/* USER CODE BEGIN RADIO_MspDeInit 1 */
209212

210-
/* USER CODE END RADIO_MspDeInit 1 */
213+
/* USER CODE END RADIO_MspDeInit 1 */
211214
}
212215

213216
}
214217

215218
/**
216-
* @brief UART MSP Initialization
217-
* This function configures the hardware resources used in this example
218-
* @param huart: UART handle pointer
219-
* @retval None
220-
*/
219+
* @brief UART MSP Initialization
220+
* This function configures the hardware resources used in this example
221+
* @param huart: UART handle pointer
222+
* @retval None
223+
*/
221224
#ifndef __ZEPHYR__
222225
void HAL_UART_MspInit(UART_HandleTypeDef* huart)
223226
{
224227
GPIO_InitTypeDef GPIO_InitStruct = {0};
225228
if(huart->Instance==USART1)
226229
{
227-
/* USER CODE BEGIN USART1_MspInit 0 */
230+
/* USER CODE BEGIN USART1_MspInit 0 */
228231

229-
/* USER CODE END USART1_MspInit 0 */
232+
/* USER CODE END USART1_MspInit 0 */
230233
/* Peripheral clock enable */
231234
__HAL_RCC_USART1_CLK_ENABLE();
232235

@@ -250,9 +253,13 @@ void HAL_UART_MspInit(UART_HandleTypeDef* huart)
250253
GPIO_InitStruct.Alternate = GPIO_AF2_USART1;
251254
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
252255

253-
LL_PWR_SetNoPullB(LL_PWR_GPIO_BIT_0);
256+
HAL_PWREx_DisableGPIOPullUp(PWR_GPIO_B, PWR_GPIO_BIT_0);
257+
258+
HAL_PWREx_DisableGPIOPullUp(PWR_GPIO_A, PWR_GPIO_BIT_1);
254259

255-
LL_PWR_SetNoPullA(LL_PWR_GPIO_BIT_1);
260+
HAL_PWREx_DisableGPIOPullDown(PWR_GPIO_B, PWR_GPIO_BIT_0);
261+
262+
HAL_PWREx_DisableGPIOPullDown(PWR_GPIO_A, PWR_GPIO_BIT_1);
256263

257264
/* USART1 DMA Init */
258265
/* USART1_TX Init */
@@ -292,27 +299,27 @@ void HAL_UART_MspInit(UART_HandleTypeDef* huart)
292299
/* USART1 interrupt Init */
293300
HAL_NVIC_SetPriority(USART1_IRQn, 2, 0);
294301
HAL_NVIC_EnableIRQ(USART1_IRQn);
295-
/* USER CODE BEGIN USART1_MspInit 1 */
302+
/* USER CODE BEGIN USART1_MspInit 1 */
296303

297-
/* USER CODE END USART1_MspInit 1 */
304+
/* USER CODE END USART1_MspInit 1 */
298305

299306
}
300307

301308
}
302309

303310
/**
304-
* @brief UART MSP De-Initialization
305-
* This function freeze the hardware resources used in this example
306-
* @param huart: UART handle pointer
307-
* @retval None
308-
*/
311+
* @brief UART MSP De-Initialization
312+
* This function freeze the hardware resources used in this example
313+
* @param huart: UART handle pointer
314+
* @retval None
315+
*/
309316
void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
310317
{
311318
if(huart->Instance==USART1)
312319
{
313-
/* USER CODE BEGIN USART1_MspDeInit 0 */
320+
/* USER CODE BEGIN USART1_MspDeInit 0 */
314321

315-
/* USER CODE END USART1_MspDeInit 0 */
322+
/* USER CODE END USART1_MspDeInit 0 */
316323
/* Peripheral clock disable */
317324
__HAL_RCC_USART1_CLK_DISABLE();
318325

@@ -330,9 +337,9 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
330337

331338
/* USART1 interrupt DeInit */
332339
HAL_NVIC_DisableIRQ(USART1_IRQn);
333-
/* USER CODE BEGIN USART1_MspDeInit 1 */
340+
/* USER CODE BEGIN USART1_MspDeInit 1 */
334341

335-
/* USER CODE END USART1_MspDeInit 1 */
342+
/* USER CODE END USART1_MspDeInit 1 */
336343
}
337344

338345
}

lib/stm32wb0/BLE_TransparentMode/STM32_BLE/App/aci_adv_nwk.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,11 @@ tBleStatus hci_le_set_periodic_advertising_subevent_data(uint8_t Advertising_Han
212212
return BLE_ERROR_UNKNOWN_ADVERTISING_IDENTIFIER;
213213
}
214214

215+
if ((Num_Subevents == 0) || (Num_Subevents > 0x0F))
216+
{
217+
return BLE_ERROR_INVALID_HCI_CMD_PARAMS;
218+
}
219+
215220
if(pawr_buff_subevent_num_available() < Num_Subevents)
216221
{
217222
/* This happens is host has given more data than what requested by the Controller. */

lib/stm32wb0/BLE_TransparentMode/STM32_BLE/App/app_ble.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ typedef enum
106106

107107
/* Transparent Mode/DTM version (Bluetooth LE stack v4.x) */
108108
#define DTM_FW_VERSION_MAJOR 1
109-
#define DTM_FW_VERSION_MINOR 1
109+
#define DTM_FW_VERSION_MINOR 2
110110
#define DTM_FW_VERSION_PATCH 0
111111

112112
#define UART_INTERFACE

0 commit comments

Comments
 (0)