Skip to content

Commit 6f16703

Browse files
authoredMar 5, 2025··
Merge pull request #73 from fpistm/update
chore: update to STM32_WPAN v1.22.0
2 parents 4339998 + 6f7c381 commit 6f16703

File tree

4 files changed

+149
-5
lines changed

4 files changed

+149
-5
lines changed
 

‎src/utility/STM32_WPAN/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
## Source
33

4-
[STMicroelectronics/STM32CubeWB Release v1.21.0](https://github.com/STMicroelectronics/STM32CubeWB/releases/tag/v1.21.0)
5-
- Application: [BLE_TransparentMode](https://github.com/STMicroelectronics/STM32CubeWB/tree/v1.21.0/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_TransparentMode)
4+
[STMicroelectronics/STM32CubeWB Release v1.22.0](https://github.com/STMicroelectronics/STM32CubeWB/releases/tag/v1.22.0)
5+
- Application: [BLE_TransparentMode](https://github.com/STMicroelectronics/STM32CubeWB/tree/v1.22.0/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_TransparentMode)
66

‎src/utility/STM32_WPAN/ble_bufsize.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
*****************************************************************************
66
* @attention
77
*
8-
* Copyright (c) 2018-2024 STMicroelectronics.
8+
* Copyright (c) 2018-2025 STMicroelectronics.
99
* All rights reserved.
1010
*
1111
* This software is licensed under terms that can be found in the LICENSE file
@@ -97,7 +97,7 @@
9797
* mentioned parameters.
9898
*/
9999
#if (BEACON_ONLY != 0)
100-
#define BLE_FIXED_BUFFER_SIZE_BYTES 4100 /* Beacon only */
100+
#define BLE_FIXED_BUFFER_SIZE_BYTES 4200 /* Beacon only */
101101
#elif (LL_ONLY_BASIC != 0)
102102
#define BLE_FIXED_BUFFER_SIZE_BYTES 6040 /* LL only Basic*/
103103
#elif (LL_ONLY != 0)
@@ -114,7 +114,7 @@
114114
* BLE_PER_LINK_SIZE_BYTES: additional memory size used per link
115115
*/
116116
#if (BEACON_ONLY != 0)
117-
#define BLE_PER_LINK_SIZE_BYTES 108 /* Beacon only */
117+
#define BLE_PER_LINK_SIZE_BYTES 76 /* Beacon only */
118118
#elif (LL_ONLY_BASIC != 0)
119119
#define BLE_PER_LINK_SIZE_BYTES 244 /* LL only Basic */
120120
#elif (LL_ONLY != 0)

‎src/utility/STM32_WPAN/hw_ipcc.c

+78
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
/* Includes ------------------------------------------------------------------*/
2323
#include "hw.h"
2424
#include "mbox_def.h"
25+
#include "utilities_conf.h"
2526

2627
/* Global variables ---------------------------------------------------------*/
2728
/* Private defines -----------------------------------------------------------*/
@@ -227,7 +228,9 @@ void HW_IPCC_Init( void )
227228
******************************************************************************/
228229
void HW_IPCC_BLE_Init( void )
229230
{
231+
UTILS_ENTER_CRITICAL_SECTION();
230232
LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_BLE_EVENT_CHANNEL );
233+
UTILS_EXIT_CRITICAL_SECTION();
231234

232235
return;
233236
}
@@ -251,14 +254,18 @@ static void HW_IPCC_BLE_EvtHandler( void )
251254
void HW_IPCC_BLE_SendAclData( void )
252255
{
253256
LL_C1_IPCC_SetFlag_CHx( IPCC, HW_IPCC_HCI_ACL_DATA_CHANNEL );
257+
UTILS_ENTER_CRITICAL_SECTION();
254258
LL_C1_IPCC_EnableTransmitChannel( IPCC, HW_IPCC_HCI_ACL_DATA_CHANNEL );
259+
UTILS_EXIT_CRITICAL_SECTION();
255260

256261
return;
257262
}
258263

259264
static void HW_IPCC_BLE_AclDataEvtHandler( void )
260265
{
266+
UTILS_ENTER_CRITICAL_SECTION();
261267
LL_C1_IPCC_DisableTransmitChannel( IPCC, HW_IPCC_HCI_ACL_DATA_CHANNEL );
268+
UTILS_EXIT_CRITICAL_SECTION();
262269

263270
HW_IPCC_BLE_AclDataAckNot();
264271

@@ -273,22 +280,28 @@ __weak void HW_IPCC_BLE_RxEvtNot( void ){};
273280
******************************************************************************/
274281
void HW_IPCC_SYS_Init( void )
275282
{
283+
UTILS_ENTER_CRITICAL_SECTION();
276284
LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_SYSTEM_EVENT_CHANNEL );
285+
UTILS_EXIT_CRITICAL_SECTION();
277286

278287
return;
279288
}
280289

281290
void HW_IPCC_SYS_SendCmd( void )
282291
{
283292
LL_C1_IPCC_SetFlag_CHx( IPCC, HW_IPCC_SYSTEM_CMD_RSP_CHANNEL );
293+
UTILS_ENTER_CRITICAL_SECTION();
284294
LL_C1_IPCC_EnableTransmitChannel( IPCC, HW_IPCC_SYSTEM_CMD_RSP_CHANNEL );
295+
UTILS_EXIT_CRITICAL_SECTION();
285296

286297
return;
287298
}
288299

289300
static void HW_IPCC_SYS_CmdEvtHandler( void )
290301
{
302+
UTILS_ENTER_CRITICAL_SECTION();
291303
LL_C1_IPCC_DisableTransmitChannel( IPCC, HW_IPCC_SYSTEM_CMD_RSP_CHANNEL );
304+
UTILS_EXIT_CRITICAL_SECTION();
292305

293306
HW_IPCC_SYS_CmdEvtNot();
294307

@@ -313,30 +326,38 @@ __weak void HW_IPCC_SYS_EvtNot( void ){};
313326
#ifdef MAC_802_15_4_WB
314327
void HW_IPCC_MAC_802_15_4_Init( void )
315328
{
329+
UTILS_ENTER_CRITICAL_SECTION();
316330
LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_MAC_802_15_4_NOTIFICATION_ACK_CHANNEL );
331+
UTILS_EXIT_CRITICAL_SECTION();
317332

318333
return;
319334
}
320335

321336
void HW_IPCC_MAC_802_15_4_SendCmd( void )
322337
{
323338
LL_C1_IPCC_SetFlag_CHx( IPCC, HW_IPCC_MAC_802_15_4_CMD_RSP_CHANNEL );
339+
UTILS_ENTER_CRITICAL_SECTION();
324340
LL_C1_IPCC_EnableTransmitChannel( IPCC, HW_IPCC_MAC_802_15_4_CMD_RSP_CHANNEL );
341+
UTILS_EXIT_CRITICAL_SECTION();
325342

326343
return;
327344
}
328345

329346
void HW_IPCC_MAC_802_15_4_SendAck( void )
330347
{
331348
LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_MAC_802_15_4_NOTIFICATION_ACK_CHANNEL );
349+
UTILS_ENTER_CRITICAL_SECTION();
332350
LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_MAC_802_15_4_NOTIFICATION_ACK_CHANNEL );
351+
UTILS_EXIT_CRITICAL_SECTION();
333352

334353
return;
335354
}
336355

337356
static void HW_IPCC_MAC_802_15_4_CmdEvtHandler( void )
338357
{
358+
UTILS_ENTER_CRITICAL_SECTION();
339359
LL_C1_IPCC_DisableTransmitChannel( IPCC, HW_IPCC_MAC_802_15_4_CMD_RSP_CHANNEL );
360+
UTILS_EXIT_CRITICAL_SECTION();
340361

341362
HW_IPCC_MAC_802_15_4_CmdEvtNot();
342363

@@ -345,7 +366,9 @@ static void HW_IPCC_MAC_802_15_4_CmdEvtHandler( void )
345366

346367
static void HW_IPCC_MAC_802_15_4_NotEvtHandler( void )
347368
{
369+
UTILS_ENTER_CRITICAL_SECTION();
348370
LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_MAC_802_15_4_NOTIFICATION_ACK_CHANNEL );
371+
UTILS_EXIT_CRITICAL_SECTION();
349372

350373
HW_IPCC_MAC_802_15_4_EvtNot();
351374

@@ -361,16 +384,20 @@ __weak void HW_IPCC_MAC_802_15_4_EvtNot( void ){};
361384
#ifdef THREAD_WB
362385
void HW_IPCC_THREAD_Init( void )
363386
{
387+
UTILS_ENTER_CRITICAL_SECTION();
364388
LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_THREAD_NOTIFICATION_ACK_CHANNEL );
365389
LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_THREAD_CLI_NOTIFICATION_ACK_CHANNEL );
390+
UTILS_EXIT_CRITICAL_SECTION();
366391

367392
return;
368393
}
369394

370395
void HW_IPCC_OT_SendCmd( void )
371396
{
372397
LL_C1_IPCC_SetFlag_CHx( IPCC, HW_IPCC_THREAD_OT_CMD_RSP_CHANNEL );
398+
UTILS_ENTER_CRITICAL_SECTION();
373399
LL_C1_IPCC_EnableTransmitChannel( IPCC, HW_IPCC_THREAD_OT_CMD_RSP_CHANNEL );
400+
UTILS_EXIT_CRITICAL_SECTION();
374401

375402
return;
376403
}
@@ -385,22 +412,28 @@ void HW_IPCC_CLI_SendCmd( void )
385412
void HW_IPCC_THREAD_SendAck( void )
386413
{
387414
LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_THREAD_NOTIFICATION_ACK_CHANNEL );
415+
UTILS_ENTER_CRITICAL_SECTION();
388416
LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_THREAD_NOTIFICATION_ACK_CHANNEL );
417+
UTILS_EXIT_CRITICAL_SECTION();
389418

390419
return;
391420
}
392421

393422
void HW_IPCC_THREAD_CliSendAck( void )
394423
{
395424
LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_THREAD_CLI_NOTIFICATION_ACK_CHANNEL );
425+
UTILS_ENTER_CRITICAL_SECTION();
396426
LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_THREAD_CLI_NOTIFICATION_ACK_CHANNEL );
427+
UTILS_EXIT_CRITICAL_SECTION();
397428

398429
return;
399430
}
400431

401432
static void HW_IPCC_OT_CmdEvtHandler( void )
402433
{
434+
UTILS_ENTER_CRITICAL_SECTION();
403435
LL_C1_IPCC_DisableTransmitChannel( IPCC, HW_IPCC_THREAD_OT_CMD_RSP_CHANNEL );
436+
UTILS_EXIT_CRITICAL_SECTION();
404437

405438
HW_IPCC_OT_CmdEvtNot();
406439

@@ -409,7 +442,9 @@ static void HW_IPCC_OT_CmdEvtHandler( void )
409442

410443
static void HW_IPCC_THREAD_NotEvtHandler( void )
411444
{
445+
UTILS_ENTER_CRITICAL_SECTION();
412446
LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_THREAD_NOTIFICATION_ACK_CHANNEL );
447+
UTILS_EXIT_CRITICAL_SECTION();
413448

414449
HW_IPCC_THREAD_EvtNot();
415450

@@ -418,7 +453,9 @@ static void HW_IPCC_THREAD_NotEvtHandler( void )
418453

419454
static void HW_IPCC_THREAD_CliNotEvtHandler( void )
420455
{
456+
UTILS_ENTER_CRITICAL_SECTION();
421457
LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_THREAD_CLI_NOTIFICATION_ACK_CHANNEL );
458+
UTILS_EXIT_CRITICAL_SECTION();
422459

423460
HW_IPCC_THREAD_CliEvtNot();
424461

@@ -437,8 +474,10 @@ __weak void HW_IPCC_THREAD_EvtNot( void ){};
437474
#ifdef LLD_TESTS_WB
438475
void HW_IPCC_LLDTESTS_Init( void )
439476
{
477+
UTILS_ENTER_CRITICAL_SECTION();
440478
LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLDTESTS_CLI_RSP_CHANNEL );
441479
LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLDTESTS_M0_CMD_CHANNEL );
480+
UTILS_EXIT_CRITICAL_SECTION();
442481
return;
443482
}
444483

@@ -450,29 +489,38 @@ void HW_IPCC_LLDTESTS_SendCliCmd( void )
450489

451490
static void HW_IPCC_LLDTESTS_ReceiveCliRspHandler( void )
452491
{
492+
UTILS_ENTER_CRITICAL_SECTION();
453493
LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_LLDTESTS_CLI_RSP_CHANNEL );
494+
UTILS_EXIT_CRITICAL_SECTION();
495+
454496
HW_IPCC_LLDTESTS_ReceiveCliRsp();
455497
return;
456498
}
457499

458500
void HW_IPCC_LLDTESTS_SendCliRspAck( void )
459501
{
460502
LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_LLDTESTS_CLI_RSP_CHANNEL );
503+
UTILS_ENTER_CRITICAL_SECTION();
461504
LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLDTESTS_CLI_RSP_CHANNEL );
505+
UTILS_EXIT_CRITICAL_SECTION();
462506
return;
463507
}
464508

465509
static void HW_IPCC_LLDTESTS_ReceiveM0CmdHandler( void )
466510
{
511+
UTILS_ENTER_CRITICAL_SECTION();
467512
LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_LLDTESTS_M0_CMD_CHANNEL );
513+
UTILS_EXIT_CRITICAL_SECTION();
468514
HW_IPCC_LLDTESTS_ReceiveM0Cmd();
469515
return;
470516
}
471517

472518
void HW_IPCC_LLDTESTS_SendM0CmdAck( void )
473519
{
474520
LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_LLDTESTS_M0_CMD_CHANNEL );
521+
UTILS_ENTER_CRITICAL_SECTION();
475522
LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLDTESTS_M0_CMD_CHANNEL );
523+
UTILS_EXIT_CRITICAL_SECTION();
476524
return;
477525
}
478526
__weak void HW_IPCC_LLDTESTS_ReceiveCliRsp( void ){};
@@ -485,8 +533,10 @@ __weak void HW_IPCC_LLDTESTS_ReceiveM0Cmd( void ){};
485533
#ifdef LLD_BLE_WB
486534
void HW_IPCC_LLD_BLE_Init( void )
487535
{
536+
UTILS_ENTER_CRITICAL_SECTION();
488537
LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLD_BLE_RSP_CHANNEL );
489538
LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLD_BLE_M0_CMD_CHANNEL );
539+
UTILS_EXIT_CRITICAL_SECTION();
490540
return;
491541
}
492542

@@ -498,15 +548,19 @@ void HW_IPCC_LLD_BLE_SendCliCmd( void )
498548

499549
/*static void HW_IPCC_LLD_BLE_ReceiveCliRspHandler( void )
500550
{
551+
UTILS_ENTER_CRITICAL_SECTION();
501552
LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_LLD_BLE_CLI_RSP_CHANNEL );
553+
UTILS_EXIT_CRITICAL_SECTION();
502554
HW_IPCC_LLD_BLE_ReceiveCliRsp();
503555
return;
504556
}*/
505557

506558
void HW_IPCC_LLD_BLE_SendCliRspAck( void )
507559
{
508560
LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_LLD_BLE_CLI_RSP_CHANNEL );
561+
UTILS_ENTER_CRITICAL_SECTION();
509562
LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLD_BLE_CLI_RSP_CHANNEL );
563+
UTILS_EXIT_CRITICAL_SECTION();
510564
return;
511565
}
512566

@@ -535,15 +589,19 @@ void HW_IPCC_LLD_BLE_SendCmd( void )
535589

536590
static void HW_IPCC_LLD_BLE_ReceiveRspHandler( void )
537591
{
592+
UTILS_ENTER_CRITICAL_SECTION();
538593
LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_LLD_BLE_RSP_CHANNEL );
594+
UTILS_EXIT_CRITICAL_SECTION();
539595
HW_IPCC_LLD_BLE_ReceiveRsp();
540596
return;
541597
}
542598

543599
void HW_IPCC_LLD_BLE_SendRspAck( void )
544600
{
545601
LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_LLD_BLE_RSP_CHANNEL );
602+
UTILS_ENTER_CRITICAL_SECTION();
546603
LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_LLD_BLE_RSP_CHANNEL );
604+
UTILS_EXIT_CRITICAL_SECTION();
547605
return;
548606
}
549607

@@ -555,31 +613,39 @@ void HW_IPCC_LLD_BLE_SendRspAck( void )
555613
#ifdef ZIGBEE_WB
556614
void HW_IPCC_ZIGBEE_Init( void )
557615
{
616+
UTILS_ENTER_CRITICAL_SECTION();
558617
LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_ZIGBEE_APPLI_NOTIF_ACK_CHANNEL );
559618
LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_ZIGBEE_M0_REQUEST_CHANNEL );
619+
UTILS_EXIT_CRITICAL_SECTION();
560620

561621
return;
562622
}
563623

564624
void HW_IPCC_ZIGBEE_SendM4RequestToM0( void )
565625
{
566626
LL_C1_IPCC_SetFlag_CHx( IPCC, HW_IPCC_ZIGBEE_CMD_APPLI_CHANNEL );
627+
UTILS_ENTER_CRITICAL_SECTION();
567628
LL_C1_IPCC_EnableTransmitChannel( IPCC, HW_IPCC_ZIGBEE_CMD_APPLI_CHANNEL );
629+
UTILS_EXIT_CRITICAL_SECTION();
568630

569631
return;
570632
}
571633

572634
void HW_IPCC_ZIGBEE_SendM4AckToM0Notify( void )
573635
{
574636
LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_ZIGBEE_APPLI_NOTIF_ACK_CHANNEL );
637+
UTILS_ENTER_CRITICAL_SECTION();
575638
LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_ZIGBEE_APPLI_NOTIF_ACK_CHANNEL );
639+
UTILS_EXIT_CRITICAL_SECTION();
576640

577641
return;
578642
}
579643

580644
static void HW_IPCC_ZIGBEE_CmdEvtHandler( void )
581645
{
646+
UTILS_ENTER_CRITICAL_SECTION();
582647
LL_C1_IPCC_DisableTransmitChannel( IPCC, HW_IPCC_ZIGBEE_CMD_APPLI_CHANNEL );
648+
UTILS_EXIT_CRITICAL_SECTION();
583649

584650
HW_IPCC_ZIGBEE_RecvAppliAckFromM0();
585651

@@ -588,7 +654,9 @@ static void HW_IPCC_ZIGBEE_CmdEvtHandler( void )
588654

589655
static void HW_IPCC_ZIGBEE_StackNotifEvtHandler( void )
590656
{
657+
UTILS_ENTER_CRITICAL_SECTION();
591658
LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_ZIGBEE_APPLI_NOTIF_ACK_CHANNEL );
659+
UTILS_EXIT_CRITICAL_SECTION();
592660

593661
HW_IPCC_ZIGBEE_RecvM0NotifyToM4();
594662

@@ -597,7 +665,9 @@ static void HW_IPCC_ZIGBEE_StackNotifEvtHandler( void )
597665

598666
static void HW_IPCC_ZIGBEE_StackM0RequestHandler( void )
599667
{
668+
UTILS_ENTER_CRITICAL_SECTION();
600669
LL_C1_IPCC_DisableReceiveChannel( IPCC, HW_IPCC_ZIGBEE_M0_REQUEST_CHANNEL );
670+
UTILS_EXIT_CRITICAL_SECTION();
601671

602672
HW_IPCC_ZIGBEE_RecvM0RequestToM4();
603673

@@ -607,7 +677,9 @@ static void HW_IPCC_ZIGBEE_StackM0RequestHandler( void )
607677
void HW_IPCC_ZIGBEE_SendM4AckToM0Request( void )
608678
{
609679
LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_ZIGBEE_M0_REQUEST_CHANNEL );
680+
UTILS_ENTER_CRITICAL_SECTION();
610681
LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_ZIGBEE_M0_REQUEST_CHANNEL );
682+
UTILS_EXIT_CRITICAL_SECTION();
611683

612684
return;
613685
}
@@ -625,7 +697,9 @@ void HW_IPCC_MM_SendFreeBuf( void (*cb)( void ) )
625697
if ( LL_C1_IPCC_IsActiveFlag_CHx( IPCC, HW_IPCC_MM_RELEASE_BUFFER_CHANNEL ) )
626698
{
627699
FreeBufCb = cb;
700+
UTILS_ENTER_CRITICAL_SECTION();
628701
LL_C1_IPCC_EnableTransmitChannel( IPCC, HW_IPCC_MM_RELEASE_BUFFER_CHANNEL );
702+
UTILS_EXIT_CRITICAL_SECTION();
629703
}
630704
else
631705
{
@@ -639,7 +713,9 @@ void HW_IPCC_MM_SendFreeBuf( void (*cb)( void ) )
639713

640714
static void HW_IPCC_MM_FreeBufHandler( void )
641715
{
716+
UTILS_ENTER_CRITICAL_SECTION();
642717
LL_C1_IPCC_DisableTransmitChannel( IPCC, HW_IPCC_MM_RELEASE_BUFFER_CHANNEL );
718+
UTILS_EXIT_CRITICAL_SECTION();
643719

644720
FreeBufCb();
645721

@@ -653,7 +729,9 @@ static void HW_IPCC_MM_FreeBufHandler( void )
653729
******************************************************************************/
654730
void HW_IPCC_TRACES_Init( void )
655731
{
732+
UTILS_ENTER_CRITICAL_SECTION();
656733
LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_TRACES_CHANNEL );
734+
UTILS_EXIT_CRITICAL_SECTION();
657735

658736
return;
659737
}
+66
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
/* USER CODE BEGIN Header */
2+
/**
3+
******************************************************************************
4+
* @file utilities_conf.h
5+
* @author MCD Application Team
6+
* @brief Configuration file for STM32 Utilities.
7+
******************************************************************************
8+
* @attention
9+
*
10+
* Copyright (c) 2019-2021 STMicroelectronics.
11+
* All rights reserved.
12+
*
13+
* This software is licensed under terms that can be found in the LICENSE file
14+
* in the root directory of this software component.
15+
* If no LICENSE file comes with this software, it is provided AS-IS.
16+
*
17+
******************************************************************************
18+
*/
19+
/* USER CODE END Header */
20+
21+
/* Define to prevent recursive inclusion -------------------------------------*/
22+
#ifndef UTILITIES_CONF_H
23+
#define UTILITIES_CONF_H
24+
25+
#ifdef __cplusplus
26+
extern "C" {
27+
#endif
28+
29+
#include "cmsis_compiler.h"
30+
#include "string.h"
31+
#include "app_conf.h"
32+
33+
/******************************************************************************
34+
* common
35+
******************************************************************************/
36+
#define UTILS_ENTER_CRITICAL_SECTION( ) uint32_t primask_bit = __get_PRIMASK( );\
37+
__disable_irq( )
38+
39+
#define UTILS_EXIT_CRITICAL_SECTION( ) __set_PRIMASK( primask_bit )
40+
41+
#define UTILS_MEMSET8( dest, value, size ) memset( dest, value, size);
42+
43+
/******************************************************************************
44+
* tiny low power manager
45+
* (any macro that does not need to be modified can be removed)
46+
******************************************************************************/
47+
#define UTIL_LPM_INIT_CRITICAL_SECTION( )
48+
#define UTIL_LPM_ENTER_CRITICAL_SECTION( ) UTILS_ENTER_CRITICAL_SECTION( )
49+
#define UTIL_LPM_EXIT_CRITICAL_SECTION( ) UTILS_EXIT_CRITICAL_SECTION( )
50+
51+
/******************************************************************************
52+
* sequencer
53+
* (any macro that does not need to be modified can be removed)
54+
******************************************************************************/
55+
#define UTIL_SEQ_INIT_CRITICAL_SECTION( )
56+
#define UTIL_SEQ_ENTER_CRITICAL_SECTION( ) UTILS_ENTER_CRITICAL_SECTION( )
57+
#define UTIL_SEQ_EXIT_CRITICAL_SECTION( ) UTILS_EXIT_CRITICAL_SECTION( )
58+
#define UTIL_SEQ_CONF_TASK_NBR (32)
59+
#define UTIL_SEQ_CONF_PRIO_NBR CFG_SCH_PRIO_NBR
60+
#define UTIL_SEQ_MEMSET8( dest, value, size ) UTILS_MEMSET8( dest, value, size )
61+
62+
#ifdef __cplusplus
63+
}
64+
#endif
65+
66+
#endif /*UTILITIES_CONF_H */

0 commit comments

Comments
 (0)
Please sign in to comment.