Welcome to mirror list, hosted at ThFree Co, Russian Federation.

readme.txt « BLE_TransparentMode « BLE « Applications « STM32WB5MM-DK « Projects - github.com/Flipper-Zero/STM32CubeWB.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 82b14153d96c054997961181a19a4f6f3e1ca080 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
/**
  @page BLE_TransparentMode example
  
  @verbatim
  ******************************************************************************
  * @file    BLE/BLE_TransparentMode/readme.txt 
  * @author  MCD Application Team
  * @brief   Description of the Transparent Mode application.
  ******************************************************************************
  *
  * Copyright (c) 2021 STMicroelectronics. All rights reserved.
  *
  * This software component is licensed by ST under Ultimate Liberty license 
  * SLA0044, the "License"; You may not use this file except in compliance with 
  * the License. You may obtain a copy of the License at:
  *                               www.st.com/SLA0044
  *
  ******************************************************************************
  @endverbatim

@par Example Description

How to communicate with the STM32CubeMonitor-RF Tool using the transparent mode.

@note Care must be taken when using HAL_Delay(), this function provides accurate delay (in milliseconds)
      based on variable incremented in SysTick ISR. This implies that if HAL_Delay() is called from
      a peripheral ISR process, then the SysTick interrupt must have higher priority (numerically lower)
      than the peripheral interrupt. Otherwise the caller ISR process will be blocked.
      To change the SysTick interrupt priority you have to use HAL_NVIC_SetPriority() function.
      
@note The application needs to ensure that the SysTick time base is always set to 1 millisecond
      to have correct HAL operation.

@par Keywords

Connectivity, BLE, IPCC, HSEM, RTC, UART, PWR, BLE protocol, Dual core

@par Directory contents 
  
  - BLE/BLE_TransparentMode/Core/Inc/app_common.h            	Header for all modules with common definition
  - BLE/BLE_TransparentMode/Core/Inc/app_conf.h              	Parameters configuration file of the application
  - BLE/BLE_TransparentMode/Core/Inc/app_debug.h              	Header for app_debug.c module
  - BLE/BLE_TransparentMode/Core/Inc/app_entry.h            	Parameters configuration file of the application
  - BLE/BLE_TransparentMode/Core/Inc/hw_conf.h           		Configuration file of the HW
  - BLE/BLE_TransparentMode/Core/Inc/hw_if.h					HW interface
  - BLE/BLE_TransparentMode/Core/Inc/main.h                  	Header for main.c module
  - BLE/BLE_TransparentMode/Core/Inc/stm32_lpm_if.h				Header for stm32_lpm_if.c module (LP management)
  - BLE/BLE_TransparentMode/Core/Inc/stm32wb5mm_dk_conf.h		Configuration file of the Discovery board
  - BLE/BLE_TransparentMode/Core/Inc/stm32wbxx_hal_conf.h		HAL configuration file
  - BLE/BLE_TransparentMode/Core/Inc/stm32wbxx_it.h          	Interrupt handlers header file
  - BLE/BLE_TransparentMode/Core/Inc/utilities_conf.h    		Configuration file of the utilities
  - BLE/BLE_TransparentMode/Core/Src/app_debug.c              	Debug capabilities source file for STM32WPAN Middleware
  - BLE/BLE_TransparentMode/Core/Src/app_entry.c      			Initialization of the application
  - BLE/BLE_TransparentMode/Core/Src/hw_timerserver.c 			Timer Server based on RTC
  - BLE/BLE_TransparentMode/Core/Src/hw_uart.c 					UART Driver	  
  - BLE/BLE_TransparentMode/Core/Src/main.c                  	Main program
  - BLE/BLE_TransparentMode/Core/Src/stm32_lpm_if.c				Low Power Manager Interface
  - BLE/BLE_TransparentMode/Core/Src/stm32wbxx_hal_msp.c		MSP Initialization and de-Initialization code
  - BLE/BLE_TransparentMode/Core/Src/stm32wbxx_it.c          	Interrupt handlers
  - BLE/BLE_TransparentMode/Core/Src/system_stm32wbxx.c      	stm32wbxx system source file  
  - BLE/BLE_TransparentMode/STM32_WPAN/App/app_ble.h          	Header for app_ble.c module
  - BLE/BLE_TransparentMode/STM32_WPAN/App/ble_conf.h         	BLE Services configuration
  - BLE/BLE_TransparentMode/STM32_WPAN/App/ble_dbg_conf.h     	BLE Traces configuration of the BLE services
  - BLE/BLE_TransparentMode/STM32_WPAN/App/dis_app.h          	Header for dis_app.c module
  - BLE/BLE_TransparentMode/STM32_WPAN/App/tm.h               	Header for tm.c module
  - BLE/BLE_TransparentMode/STM32_WPAN/App/tl_dbg_conf.h		Debug configuration file for stm32wpan transport layer interface
  - BLE/BLE_TransparentMode/STM32_WPAN/App/app_ble.c      		BLE Profile implementation
  - BLE/BLE_TransparentMode/STM32_WPAN/App/dis_app.c      		Device Information Service application
  - BLE/BLE_TransparentMode/STM32_WPAN/App/tm.c 				Transparent Mode implementation
  - BLE/BLE_TransparentMode/STM32_WPAN/Target/hw_ipcc.c      	IPCC Driver
  
     
@par Hardware and Software environment

  - This example runs on STM32WB5MM-DK boards.
  
  
@par How to use it ? 

This application requires having the stm32wb5x_BLE_Stack_full_fw.bin binary flashed on the Wireless Coprocessor.
If it is not the case, you need to use STM32CubeProgrammer to load the appropriate binary.
All available binaries are located under /Projects/STM32_Copro_Wireless_Binaries directory.
Refer to UM2237 to learn how to use/install STM32CubeProgrammer.
Refer to /Projects/STM32_Copro_Wireless_Binaries/ReleaseNote.html for the detailed procedure to change the
Wireless Coprocessor binary.  

In order to make the program work, you must do the following:
 - Open your preferred toolchain 
 - Rebuild all files and flash the board with the executable file
 - Run the example
 - to test the BLE Transparent Mode application, use the STM32CubeMonitor RF tool
 - make the connection between STM32CubeMonitor RF tool and BLE_TransparentMode application
 - send some ACI commands from STM32CubeMonitor RF tool as HCI_RESET, HCI_LE_RECEIVER_TEST, HCI_LE_TRANSMITTER_TEST, ...
 - the application must acknowledge the command with a "Command Complete" answer 
 
For more details refer to the Application Note: 
  AN5289 - Building a Wireless application 

 * <h3><center>&copy; COPYRIGHT STMicroelectronics</center></h3>
 */