Skip to content

Commit 3820501

Browse files
committed
Release v1.4.1
1 parent e7875ae commit 3820501

File tree

492 files changed

+44345
-2129
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

492 files changed

+44345
-2129
lines changed

Middlewares/ST/STM32_WPAN/Release_Notes.html

+64-6
Original file line numberDiff line numberDiff line change
@@ -171,10 +171,68 @@ <h1 id="purpose">Purpose</h1>
171171
<div class="col-sm-12 col-lg-8">
172172
<h1 id="update-history">Update History</h1>
173173
<div class="collapse">
174-
<input type="checkbox" id="collapse-section6" checked aria-hidden="true"> <label for="collapse-section6" aria-hidden="false">V2.4.0 / 03-June-2024</label>
174+
<input type="checkbox" id="collapse-section7" checked aria-hidden="true"> <label for="collapse-section7" aria-hidden="false">V2.4.1 / 18-July-2024</label>
175175
<div>
176176
<h2 id="main-changes">Main Changes</h2>
177177
<ul>
178+
<li>Productive PHY settings including AoA/AoD support.</li>
179+
<li><p>ID 181488 : Optimization of RF calibration timing.</p></li>
180+
<li>BLE Audio:
181+
<ul>
182+
<li>Changes :
183+
<ul>
184+
<li>Codec : Change ReadLocalSupportedControllerDelay to provide only margin if codec configuration length parameter is null</li>
185+
</ul></li>
186+
<li>Issues fixed:
187+
<ul>
188+
<li>ID 186241 : 2 successive Volume Setting Updates from one CAP Acceptor are not correctly transmitted to 2nd CAP Acceptor from CAP Initiator</li>
189+
<li>When ASCS Enable Control Operation includes invalid ASE ID, the “Number of ASEs” value in the Control Operation Response of BAP Unicast Server is invalid</li>
190+
</ul></li>
191+
</ul></li>
192+
<li>PHY 802.15.4:
193+
<ul>
194+
<li>Issues fixed:
195+
<ul>
196+
<li>ID 160933 : API for continuous wave not yet supported</li>
197+
<li>ID 160930 : API for continuous modulation not yet supported</li>
198+
<li>ID 164825 : RSSI reading incorrect : around 6dbm loss from –90 to -30dbm</li>
199+
</ul></li>
200+
</ul></li>
201+
<li><strong>Known limitations</strong>:
202+
<ul>
203+
<li>BLE:
204+
<ul>
205+
<li>ID 143245 : ACI_HAL_GET_ANCHOR_PERIOD, ACI_HAL_SET_SLAVE_LATENCY not yet supported.</li>
206+
<li>ID 178561 : White list not updated when advertising in privacy mode.</li>
207+
</ul></li>
208+
<li>BLE Audio:
209+
<ul>
210+
<li>Framed mode not supported (44.1 KHz).</li>
211+
<li>ID 135240 : Long synchronization time in Broadcast due to scheduling conflict between extended advertising and BIG event.</li>
212+
<li>ID 165710 : Audio Latency may not be respected with high transport latency.</li>
213+
</ul></li>
214+
<li>Common 802.15.4 (MAC / Thread / Zigbee):
215+
<ul>
216+
<li>ID 182045 : [BLE_Thread_SED] issue with data polling / device crash</li>
217+
</ul></li>
218+
<li>Zigbee:
219+
<ul>
220+
<li>ID 182978 In color cluster, wrong parsing for enhanced move to hue command.</li>
221+
</ul></li>
222+
<li>MAC 802.15.4:
223+
<ul>
224+
<li>ID 182781 : During association, the capable information with receiver On When Idle doesn’t work</li>
225+
<li>ID 182904 : Not received MLME-Sync-Loss.ind for associate device to a PAN coordinator</li>
226+
</ul></li>
227+
</ul></li>
228+
</ul>
229+
</div>
230+
</div>
231+
<div class="collapse">
232+
<input type="checkbox" id="collapse-section6" aria-hidden="true"> <label for="collapse-section6" aria-hidden="false">V2.4.0 / 03-June-2024</label>
233+
<div>
234+
<h2 id="main-changes-1">Main Changes</h2>
235+
<ul>
178236
<li>BLE:
179237
<ul>
180238
<li>Two new BLE stack configurations added:
@@ -282,7 +340,7 @@ <h2 id="main-changes">Main Changes</h2>
282340
<div class="collapse">
283341
<input type="checkbox" id="collapse-section5" aria-hidden="true"> <label for="collapse-section5" aria-hidden="false">V2.3.1 / 22-March-2024</label>
284342
<div>
285-
<h2 id="main-changes-1">Main Changes</h2>
343+
<h2 id="main-changes-2">Main Changes</h2>
286344
<ul>
287345
<li><p>Productive RF-PHY settings.</p></li>
288346
<li>Zigbee:
@@ -352,7 +410,7 @@ <h2 id="main-changes-1">Main Changes</h2>
352410
<div class="collapse">
353411
<input type="checkbox" id="collapse-section4" aria-hidden="true"> <label for="collapse-section4" aria-hidden="false">V2.3.0 / 05-Feb-2024</label>
354412
<div>
355-
<h2 id="main-changes-2">Main Changes</h2>
413+
<h2 id="main-changes-3">Main Changes</h2>
356414
<ul>
357415
<li><p>Adding support of BLE-Thread and BLE-Zigbee Dynamic Concurrent Modes.</p></li>
358416
<li><p>All libraries are now compiled with MDK-ARM (KEIL) ARMCLANG V6.19 AEABI format.</p></li>
@@ -466,7 +524,7 @@ <h2 id="main-changes-2">Main Changes</h2>
466524
<div class="collapse">
467525
<input type="checkbox" id="collapse-section3" aria-hidden="true"> <label for="collapse-section3" aria-hidden="false">V2.2.0 / 22-Sept-2023</label>
468526
<div>
469-
<h2 id="main-changes-3">Main Changes</h2>
527+
<h2 id="main-changes-4">Main Changes</h2>
470528
<ul>
471529
<li>BLE:
472530
<ul>
@@ -536,7 +594,7 @@ <h2 id="main-changes-3">Main Changes</h2>
536594
<div class="collapse">
537595
<input type="checkbox" id="collapse-section2" aria-hidden="true"> <label for="collapse-section2" aria-hidden="false">V2.1.0 / 30-May-2023</label>
538596
<div>
539-
<h2 id="main-changes-4">Main Changes</h2>
597+
<h2 id="main-changes-5">Main Changes</h2>
540598
<ul>
541599
<li>BLE:
542600
<ul>
@@ -564,7 +622,7 @@ <h2 id="main-changes-4">Main Changes</h2>
564622
<div class="collapse">
565623
<input type="checkbox" id="collapse-section1" aria-hidden="true"> <label for="collapse-section1" aria-hidden="false">V2.0.0 / 08-February-2023</label>
566624
<div>
567-
<h2 id="main-changes-5">Main Changes</h2>
625+
<h2 id="main-changes-6">Main Changes</h2>
568626
<p>First official release for WBA</p>
569627
<ul>
570628
<li>Known limitations:
436 Bytes
Binary file not shown.

Middlewares/ST/STM32_WPAN/ble/codec/codec_manager/Inc/codec_mngr.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -170,8 +170,8 @@ typedef enum
170170
* @param media_packet_pool_size : size in bytes of the provided pool
171171
* @param media_packet_pool : pointer to the provided pool
172172
* @param codecRAMConfig : pointer to the RAM dedicated to the LC3 codec
173-
* @param margin_processing_us : margin is microseconds added to the controller delay
174-
* for including higher priority interrupt latency
173+
* @param margin_processing_us : extra latency in microseconds added to the controller delay
174+
* for including higher priority processing over a codec frame interval
175175
* @param rf_max_setup_time_us : maximum timing in microseconds measured from the radio interrupt to the beginning of
176176
* the corresponding ISO event (radio preparation). Added as an extra latency at source
177177
* @param codec_mode : configuration of the codec manager behavior, see CODEC_Mode_t
Binary file not shown.

Middlewares/ST/STM32_WPAN/link_layer/ll_cmd_lib/config/ieee_15_4_basic/ll_fw_config.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
/* Non-standard features configurations */
6767
#define NUM_OF_CTSM_EMNGR_HNDLS 0 /* Number of custom handles in event manager to be used for app specific needs */
6868
#define SUPPORT_AUGMENTED_BLE_MODE 0 /* Enable\Disable Augmented BLE Support. Enable:1 - Disable:0 */
69-
#define SUPPORT_PTA 0 /* Enable\Disable PTA Feature. Enable:1 - Disable:0 */
69+
#define SUPPORT_PTA 1 /* Enable\Disable PTA Feature. Enable:1 - Disable:0 */
7070

7171
/*************************** MAC Configuration *************************************/
7272
/*Configurations of MAC will apply only when MAC is enabled*/

Middlewares/ST/STM32_WPAN/link_layer/ll_cmd_lib/config/thread/ll_fw_config.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
/* Non-standard features configurations */
6767
#define NUM_OF_CTSM_EMNGR_HNDLS 0 /* Number of custom handles in event manager to be used for app specific needs */
6868
#define SUPPORT_AUGMENTED_BLE_MODE 0 /* Enable\Disable Augmented BLE Support. Enable:1 - Disable:0 */
69-
#define SUPPORT_PTA 0 /* Enable\Disable PTA Feature. Enable:1 - Disable:0 */
69+
#define SUPPORT_PTA 1 /* Enable\Disable PTA Feature. Enable:1 - Disable:0 */
7070

7171
/*************************** MAC Configuration *************************************/
7272
/*Configurations of MAC will apply only when MAC is enabled*/
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Middlewares/ST/STM32_WPAN/link_layer/ll_sys/inc/linklayer_plat.h

+18
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,24 @@ extern void LINKLAYER_PLAT_Assert(uint8_t condition);
5050
*/
5151
extern void LINKLAYER_PLAT_AclkCtrl(uint8_t enable);
5252

53+
/**
54+
* @brief Notify the Link Layer platform layer the system will enter in WFI
55+
* and AHB5 clock may be turned of regarding the 2.4Ghz radio state.
56+
* @param None
57+
* @retval None
58+
*/
59+
extern void LINKLAYER_PLAT_NotifyWFIEnter(void);
60+
61+
/**
62+
* @brief Notify the Link Layer platform layer the system exited WFI and AHB5
63+
* clock may be resynchronized as is may have been turned of during
64+
* low power mode entry.
65+
* @param None
66+
* @retval None
67+
*/
68+
extern void LINKLAYER_PLAT_NotifyWFIExit(void);
69+
70+
5371
/**
5472
* @brief Active wait on bus clock readiness.
5573
* @param None

Middlewares/ST/STM32_WPAN/link_layer/ll_sys/inc/ll_sys.h

+3
Original file line numberDiff line numberDiff line change
@@ -118,4 +118,7 @@ uint8_t ll_sys_get_concurrent_state_machines_num(void);
118118
void ll_sys_config_BLE_schldr_timings(uint8_t drift_time, uint8_t exec_time);
119119
#endif /* BLE */
120120

121+
uint32_t ll_intf_cmn_get_slptmr_value(void);
122+
123+
121124
#endif /* LL_SYS_H */

Middlewares/ST/STM32_WPAN/link_layer/ll_sys/src/ll_sys_intf.c

+10-1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121
#include "event_manager.h"
2222
#include "ll_intf.h"
2323

24+
extern uint8_t AHB5_SwitchedOff;
25+
extern uint32_t radio_sleep_timer_val;
26+
2427
/**
2528
* @brief Initialize the Link Layer SoC dependencies
2629
* @param None
@@ -68,9 +71,15 @@ void ll_sys_radio_ack_ctrl(uint8_t enable)
6871
*/
6972
void ll_sys_radio_wait_for_busclkrdy(void)
7073
{
71-
LINKLAYER_PLAT_WaitHclkRdy();
74+
/* Wait on radio bus clock readiness if it has been turned of */
75+
if (AHB5_SwitchedOff == 1)
76+
{
77+
AHB5_SwitchedOff = 0;
78+
while (radio_sleep_timer_val == ll_intf_cmn_get_slptmr_value());
79+
}
7280
}
7381

82+
7483
/**
7584
* @brief Get RNG number for the Link Layer IP
7685
* @param None

Projects/NUCLEO-WBA55CG/Applications/BLE/BLE_ApplicationInstallManager/System/Interfaces/stm32_lpm_if.c

+2-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@
7272

7373
/* Private user code ---------------------------------------------------------*/
7474
/* USER CODE BEGIN 0 */
75-
75+
extern void LINKLAYER_PLAT_NotifyWFIExit(void);
76+
extern void LINKLAYER_PLAT_NotifyWFIEnter(void);
7677
/* USER CODE END 0 */
7778

7879
uint32_t is_boot_from_standby(void)

Projects/NUCLEO-WBA55CG/Applications/BLE/BLE_Beacon/Core/Src/main.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ void MX_ICACHE_Init(void)
351351

352352
/* USER CODE BEGIN ICACHE_Init 1 */
353353
/* No retention for ICACHE in stop mode */
354-
LL_PWR_SetICacheRAMStopRetention(LL_PWR_ICACHERAM_STOP_NO_RETENTION);
354+
LL_PWR_SetICacheRAMStopRetention(LL_PWR_ICACHERAM_STOP_FULL_RETENTION);
355355
/* USER CODE END ICACHE_Init 1 */
356356

357357
/** Enable instruction cache in 1-way (direct mapped cache)

Projects/NUCLEO-WBA55CG/Applications/BLE/BLE_Beacon/Core/Src/stm32wbaxx_it.c

+1-3
Original file line numberDiff line numberDiff line change
@@ -300,9 +300,7 @@ void USART1_IRQHandler(void)
300300
void RADIO_IRQHandler(void)
301301
{
302302
/* USER CODE BEGIN RADIO_IRQn 0 */
303-
/* WORKAROUND : Force AHB5 synchronization by waiting one edge of the LL Sleep Clock */
304-
uint32_t mul,div;
305-
ll_intf_get_aligned_us_now(&mul, &div);
303+
306304
/* USER CODE END RADIO_IRQn 0 */
307305

308306
if(NULL != radio_callback)

Projects/NUCLEO-WBA55CG/Applications/BLE/BLE_Beacon/STM32_WPAN/Target/linklayer_plat.c

+42
Original file line numberDiff line numberDiff line change
@@ -529,4 +529,46 @@ uint32_t LINKLAYER_PLAT_GetUDN(void)
529529

530530
/* USER CODE BEGIN LINKLAYER_PLAT 0 */
531531

532+
/* Radio bus clock control variables */
533+
uint8_t AHB5_SwitchedOff = 0;
534+
uint32_t radio_sleep_timer_val = 0;
535+
536+
/**
537+
* @brief Notify the Link Layer platform layer the system will enter in WFI
538+
* and AHB5 clock may be turned of regarding the 2.4Ghz radio state.
539+
* @param None
540+
* @retval None
541+
*/
542+
void LINKLAYER_PLAT_NotifyWFIEnter(void)
543+
{
544+
/* Check if Radio state will allow the AHB5 clock to be cut */
545+
546+
/* AHB5 clock will be cut in the following cases:
547+
* - 2.4GHz radio is not in ACTIVE mode (in SLEEP or DEEPSLEEP mode).
548+
* - RADIOSMEN and STRADIOCLKON bits are at 0.
549+
*/
550+
if((LL_PWR_GetRadioMode() != LL_PWR_RADIO_ACTIVE_MODE) ||
551+
((__HAL_RCC_RADIO_IS_CLK_SLEEP_ENABLED() == 0) && (LL_RCC_RADIO_IsEnabledSleepTimerClock() == 0)))
552+
{
553+
AHB5_SwitchedOff = 1;
554+
}
555+
}
556+
557+
/**
558+
* @brief Notify the Link Layer platform layer the system exited WFI and AHB5
559+
* clock may be resynchronized as is may have been turned of during
560+
* low power mode entry.
561+
* @param None
562+
* @retval None
563+
*/
564+
void LINKLAYER_PLAT_NotifyWFIExit(void)
565+
{
566+
/* Check if AHB5 clock has been turned of and needs resynchronisation */
567+
if (AHB5_SwitchedOff)
568+
{
569+
/* Read sleep register as earlier as possible */
570+
radio_sleep_timer_val = ll_intf_cmn_get_slptmr_value();
571+
}
572+
}
573+
532574
/* USER CODE END LINKLAYER_PLAT 0 */

Projects/NUCLEO-WBA55CG/Applications/BLE/BLE_Beacon/System/Interfaces/stm32_lpm_if.c

+29-7
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,8 @@ static void Exit_Stop_Standby_Mode(void);
126126

127127
/* Private user code ---------------------------------------------------------*/
128128
/* USER CODE BEGIN 0 */
129-
129+
extern void LINKLAYER_PLAT_NotifyWFIExit(void);
130+
extern void LINKLAYER_PLAT_NotifyWFIEnter(void);
130131
/* USER CODE END 0 */
131132

132133
__WEAK OPTIMIZED void Standby_Restore_GPIO(void)
@@ -280,7 +281,10 @@ OPTIMIZED void PWR_EnterOffMode( void )
280281
SYSTEM_DEBUG_SIGNAL_SET(LOW_POWER_STANDBY_MODE_ENTER);
281282

282283
/* USER CODE BEGIN PWR_EnterOffMode_1 */
283-
284+
/* Notify the Link Layer platform layer the system will enter in WFI
285+
* and AHB5 clock may be turned of regarding the 2.4Ghz radio state
286+
*/
287+
LINKLAYER_PLAT_NotifyWFIEnter();
284288
/* USER CODE END PWR_EnterOffMode_1 */
285289

286290
/*
@@ -382,7 +386,11 @@ OPTIMIZED void PWR_ExitOffMode( void )
382386
__HAL_RCC_RADIO_CLK_ENABLE();
383387

384388
/* USER CODE BEGIN PWR_ExitOffMode_2 */
385-
389+
/* Notify the Link Layer platform layer the system exited WFI
390+
* and AHB5 clock may be resynchronized as is may have been
391+
* turned of during low power mode entry.
392+
*/
393+
LINKLAYER_PLAT_NotifyWFIExit();
386394
/* USER CODE END PWR_ExitOffMode_2 */
387395

388396
/* Apply Prefetch configuration is enabled */
@@ -458,7 +466,10 @@ OPTIMIZED void PWR_EnterStopMode( void )
458466
SYSTEM_DEBUG_SIGNAL_SET(LOW_POWER_STOP_MODE_ENTER);
459467

460468
/* USER CODE BEGIN PWR_EnterStopMode_1 */
461-
469+
/* Notify the Link Layer platform layer the system will enter in WFI
470+
* and AHB5 clock may be turned of regarding the 2.4Ghz radio state
471+
*/
472+
LINKLAYER_PLAT_NotifyWFIEnter();
462473
/* USER CODE END PWR_EnterStopMode_1 */
463474

464475
Enter_Stop_Standby_Mode();
@@ -483,7 +494,11 @@ OPTIMIZED void PWR_ExitStopMode( void )
483494
SYSTEM_DEBUG_SIGNAL_SET(LOW_POWER_STOP_MODE_EXIT);
484495

485496
/* USER CODE BEGIN PWR_ExitStopMode_1 */
486-
497+
/* Notify the Link Layer platform layer the system exited WFI
498+
* and AHB5 clock may be resynchronized as is may have been
499+
* turned of during low power mode entry.
500+
*/
501+
LINKLAYER_PLAT_NotifyWFIExit();
487502
/* USER CODE END PWR_ExitStopMode_1 */
488503

489504
Exit_Stop_Standby_Mode();
@@ -498,7 +513,10 @@ OPTIMIZED void PWR_ExitStopMode( void )
498513
void PWR_EnterSleepMode( void )
499514
{
500515
/* USER CODE BEGIN PWR_EnterSleepMode_1 */
501-
516+
/* Notify the Link Layer platform layer the system will enter in WFI
517+
* and AHB5 clock may be turned of regarding the 2.4Ghz radio state
518+
*/
519+
LINKLAYER_PLAT_NotifyWFIEnter();
502520
/* USER CODE END PWR_EnterSleepMode_1 */
503521

504522
LL_LPM_EnableSleep();
@@ -512,7 +530,11 @@ void PWR_EnterSleepMode( void )
512530
void PWR_ExitSleepMode( void )
513531
{
514532
/* USER CODE BEGIN PWR_ExitSleepMode */
515-
533+
/* Notify the Link Layer platform layer the system exited WFI
534+
* and AHB5 clock may be resynchronized as is may have been
535+
* turned of during low power mode entry.
536+
*/
537+
LINKLAYER_PLAT_NotifyWFIExit();
516538
/* USER CODE END PWR_ExitSleepMode */
517539
}
518540

Projects/NUCLEO-WBA55CG/Applications/BLE/BLE_BeaconHCI/Core/Src/main.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ void MX_ICACHE_Init(void)
351351

352352
/* USER CODE BEGIN ICACHE_Init 1 */
353353
/* No retention for ICACHE in stop mode */
354-
LL_PWR_SetICacheRAMStopRetention(LL_PWR_ICACHERAM_STOP_NO_RETENTION);
354+
LL_PWR_SetICacheRAMStopRetention(LL_PWR_ICACHERAM_STOP_FULL_RETENTION);
355355
/* USER CODE END ICACHE_Init 1 */
356356

357357
/** Enable instruction cache in 1-way (direct mapped cache)

Projects/NUCLEO-WBA55CG/Applications/BLE/BLE_BeaconHCI/Core/Src/stm32wbaxx_it.c

+1-3
Original file line numberDiff line numberDiff line change
@@ -301,9 +301,7 @@ void USART1_IRQHandler(void)
301301
void RADIO_IRQHandler(void)
302302
{
303303
/* USER CODE BEGIN RADIO_IRQn 0 */
304-
/* WORKAROUND : Force AHB5 synchronization by waiting one edge of the LL Sleep Clock */
305-
uint32_t mul,div;
306-
ll_intf_get_aligned_us_now(&mul, &div);
304+
307305
/* USER CODE END RADIO_IRQn 0 */
308306

309307
if(NULL != radio_callback)

0 commit comments

Comments
 (0)