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

github.com/Flipper-Zero/STM32CubeWB.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/readme.txt')
-rw-r--r--Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/readme.txt78
1 files changed, 31 insertions, 47 deletions
diff --git a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/readme.txt b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/readme.txt
index bce8e9aba..83d962024 100644
--- a/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/readme.txt
+++ b/Projects/NUCLEO-WB15CC/Applications/BLE_LLD/BLE_LLD_Pressbutton/readme.txt
@@ -20,11 +20,11 @@
@par Example Description
-How to make blinking LED between 2 STM32WB15xx boards by pressing buttons.
+How to make toggling LED between 2 boards by pressing buttons.
@note The objectives are to communicate using BLE_LLD between 2 boards,
in BLE Radio format not BLE Stack protocol.
- BLE_LLD_Pressbutton can use 2 terminal to display communication between 2 boards.
+ BLE_LLD_Pressbutton can use 2 terminals to display communication between 2 boards.
BLE_LLD_Pressbutton can be used with BLE_LLD_Lowpower.
But Appli is based to show in a very simple way a communication between 2 boards:
It is based on pressing button and blinking answer
@@ -33,8 +33,15 @@ How to make blinking LED between 2 STM32WB15xx boards by pressing buttons.
Lowest Layer also called Low Level or LL
It is just over the Hardware and Radio Layer.
It contains all the API to Set/Configure/Initialize all the parameters for Sending/receiving BLE Radio format packet data
+ Over LL layer there is HAL level
+ It contains a reduced number of API to Send/Receive BLE Radio format packet with predefined parameters
+ It works by calling a set of LL API
+ It make simple and fast to Send/Receive Packet
+ But It does allow the user to change all the Radio parameters
-@note ble_lld module contains LL API
+@note LL is for user that want to customize the Radio and BLE parameters, it is more complex to implement
+ HAL is for user that want to Send/Receive in a very simple way less complex, without configuring LL
+ ble_lld module contains LLD API HAL and LL API
app_ble_lld module contains Transport Layer Command call from CPU1 to CPU2 + Buffer management + IT Radio management from CPU2
@par Keywords
@@ -44,13 +51,10 @@ BLE_LLD, Connectivity, BLE, LLD, IPCC, HAL, Dual core, send and receive Packet
@par Directory contents
- BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/app_ble_lld.h Header for app_ble_lld.c module
- - BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/ble_lld.h Header for ble_lld.c module
- - BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/ble_lld_private.h Header for ble_lld private module
+ - BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/pressbutton_app.h Header for Pressbutton Application pressbutton_app.c module
- BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/tl_dbg_conf.h Header for ble_lld debug module
- - BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/ring_buffer.h Header for ring buffer.c module
- BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/app_ble_lld.c contains TL management and Buffer for BLE LLD Application
- - BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/ble_lld.c contains LL and HAL API
- - BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/ring_buffer.c contains ring buffer API
+ - BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/App/pressbutton_app.c Pressbutton program
- BLE_LLD/BLE_LLD_Pressbutton/STM32_WPAN/Target/hw_ipcc.c IPCC Driver
- BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/app_common.h Header for all modules with common definition
- BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/app_conf.h Parameters configuration file of the application
@@ -58,7 +62,6 @@ BLE_LLD, Connectivity, BLE, LLD, IPCC, HAL, Dual core, send and receive Packet
- BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/gpio_lld.h Parameters for gpio configuration file of the application
- BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/hw_conf.h Configuration file of the HW
- BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/hw_if.h Configuration file of the HW
- - BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/pressbutton_app.h Header for Pressbutton Application pressbutton_app.c module
- BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/main.h Header for main.c module
- BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/stm_logging.h Header for stm_logging.c module
- BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/stm32_lpm_if.h Header for stm32_lpm_if.c module
@@ -66,10 +69,9 @@ BLE_LLD, Connectivity, BLE, LLD, IPCC, HAL, Dual core, send and receive Packet
- BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/stm32wbxx_it.h Interrupt handlers header file
- BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/utilities_conf.h Configuration file of the utilities
- BLE_LLD/BLE_LLD_Pressbutton/Core/Inc/nucleo_wb15cc_conf.h NUCLEO-WB15CC board configuration file
- - BLE_LLD/BLE_LLD_Pressbutton/Core/Src/app_entry.c Initialization of the application
+ - BLE_LLD/BLE_LLD_Pressbutton/Core/Src/app_entry.c Initialization of the application
- BLE_LLD/BLE_LLD_Pressbutton/Core/Src/gpio_lld.c GPIO for application
- - BLE_LLD/BLE_LLD_Pressbutton/Core/Src/hw_uart.c UART Driver
- - BLE_LLD/BLE_LLD_Pressbutton/Core/Src/pressbutton_app.c Pressbutton program
+ - BLE_LLD/BLE_LLD_Pressbutton/Core/Src/hw_uart.c UART Driver
- BLE_LLD/BLE_LLD_Pressbutton/Core/Src/main.c Main program
- BLE_LLD/BLE_LLD_Pressbutton/Core/Src/stm_logging.c Logging for application
- BLE_LLD/BLE_LLD_Pressbutton/Core/Src/stm32_lpm_if.c Low Power Manager Interface
@@ -104,7 +106,7 @@ BLE_LLD, Connectivity, BLE, LLD, IPCC, HAL, Dual core, send and receive Packet
@par How to use it ?
In order to make the program work, you must do the following:
- - Connect 2 NUCLEO-WB15CC boards to your PC
+ - Connect 1 NUCLEO-WB15CC board to your PC
- Open your preferred toolchain
- Rebuild all files and load your image into one target memory
- Rebuild all files of BLE_LLD/BLE_LLD_Pressbutton application
@@ -112,49 +114,31 @@ In order to make the program work, you must do the following:
+ load stm32wb1x_BLE_LLD_fw.bin
- Run the application
-BLE_LLD_Pressbutton used only LL API for Send/receive by pressing SW1
+BLE_LLD_Pressbutton used only HAL API for Send/Receive
-If you want to control this application, you can directly press buttons
+If you want to control this application, you can press buttons
In this order and described into main.c:
-After power On or Reset (ALL the LED are OFF)
+After power On or Reset (ALL the LED are OFF) all the Boards are in Received mode
- 1) Press SW2 or SW3 to Init => GREEN and RED LED becomes ON after Init
- LL API : BLUE LED is OFF
- - BLE_LLD_Init(HS_STARTUP_TIME, 1, BLE_LLD_hot_ana_config_table, ENABLE);
+ 1) Press button SW on first board to interrupt Received mode and Send LED number to second board:
+ -SW Number 1 (SW1) for LED Number 1 (LED1)
+ -SW Number 2 (SW2) for LED Number 2 (LED2)
+ -SW Number 3 (SW3) for LED Number 3 (LED3)
- To send a Packet go to 2)
- or
- To receive a Packet go to 3)
-
- 2) Press SW2 for Send 500 Chained Packets ===> GREEN is switched off during TX
- LL API : BLUE LED is OFF
- - BLE_LLD_MakeActionPacketPending(); // after setting Packet is pending and start TX after TIMEOUT IT
+ 2) When Second board Receive LED number:
+ -LED1 : LED1 is Toggling
+ "Led 1 is Toggling" is print
+ -LED2 : LED2 is Toggling
+ "Led 2 is Toggling" is print
+ -LED3 : LED3 is Toggling
+ "Led 3 is Toggling" is print
- or
-
- 3) Press SW3 for receiving 400 Packets (HAL) and 500 Packets (LL) ===> RED is switched off during RX
- LL API : BLUE LED is OFF
- - BLE_LLD_MakeActionPacketPending(); // after setting Packet is pending and start RX after TIMEOUT IT
-
-
- 4) Press SW1 (Init must be performed after)
- Toggle BLUE LED
- Step 1) to re-start sequence
-
-
-
-When one board Send : RED LED is ON
-When one board Receive: GREEN LED is ON
+ 3) To Switch off the LED press Reset or press the SW Number corresponding of the LED that is ON
-When one board Send and other Receive and communicates with ACK,
-Sending board GREEN LED toggle (Terminal shows the TX with RX Ack communication)
-Receiving board RED LED toggle (Terminal shows the RX with TX Ack communication)
-
-At the END GREEN and RED LED are ON (Terminal shows the final number of TX/RX)
Serial Port Setup TERMINAL
Baud Rate:115200 / Data:8 bits / Parity:none / Stop:1bit / Flow Control:none
* <h3><center>&copy; COPYRIGHT STMicroelectronics</center></h3>
- */
+ */ \ No newline at end of file