diff options
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.txt | 78 |
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>© COPYRIGHT STMicroelectronics</center></h3> - */ + */
\ No newline at end of file |