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/P-NUCLEO-WB55.Nucleo/Applications/BLE_LLD/BLE_LLD_Pressbutton/readme.txt')
-rw-r--r--Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE_LLD/BLE_LLD_Pressbutton/readme.txt88
1 files changed, 25 insertions, 63 deletions
diff --git a/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE_LLD/BLE_LLD_Pressbutton/readme.txt b/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE_LLD/BLE_LLD_Pressbutton/readme.txt
index 533f7a76f..069dfb132 100644
--- a/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE_LLD/BLE_LLD_Pressbutton/readme.txt
+++ b/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE_LLD/BLE_LLD_Pressbutton/readme.txt
@@ -20,12 +20,12 @@
@par Example Description
-How to make blinking LED between 2 STM32WB55xx boards by pressing buttons.
+How to control remote LEDs with BLE LLD.
@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 be alos used with BLE_LLD_Lowpower.
+ 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
@@ -36,11 +36,11 @@ How to make blinking LED between 2 STM32WB55xx boards by pressing buttons.
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
+ It make simple and fast to Send/Receive Packet
But It does allow the user to change all the Radio parameters
@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
+ 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
@@ -51,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
@@ -65,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
@@ -75,7 +71,6 @@ BLE_LLD, Connectivity, BLE, LLD, IPCC, HAL, Dual core, send and receive Packet
- 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/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
@@ -110,7 +105,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 STM32WB55xx-Nucleo boards to your PC
+ - Connect 2 STM32WB55xx-Nucleo boards 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
@@ -118,60 +113,27 @@ In order to make the program work, you must do the following:
+ load stm32wb5x_BLE_LLD_fw.bin
- Run the application
-BLE_LLD_Pressbutton used alternatively LL API and HAL 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);
- ...
- HAL API: BLUE LED is ON
- - HAL_BLE_Init();
-
- 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
- ...
- HAL API: BLUE LED is ON
- - HAL_BLE_SendPacketWithAck(); // send is done using HAL API
-
- 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
- ...
- HAL API: BLUE LED is ON
- - HAL_BLE_ReceivePacketWithAck(); // receive is done using HAL API
-
-
- 4) Press SW1 (switch API and AccessAddress)
- using LL API is default => BLUE LED is OFF (if SW1 has not been pressed)
- using HAL API => BLUE LED is ON
- press SW1 switch from one API to another
-
-
-When one board Send : RED LED is ON
-When one board Receive: GREEN LED 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)
-
-BLE_LLD_Pressbutton can be used wit BLE_LLD_Lowpower.
-Instead of configuring the second board with Send or Receive mode.
-BLE_LLD_Lowpower automatically and alternatively Send and Receive Packets, nothing to do
-Then, Only first board with BLE_LLD_Pressbutton is managed with button
+ 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)
+
+ 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
+
+ 3) To Switch off the LED press Reset or press the SW Number corresponding of the LED that is ON
Serial Port Setup TERMINAL