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/BLE_Peripheral_Lite/readme.txt')
-rw-r--r--Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_Peripheral_Lite/readme.txt111
1 files changed, 111 insertions, 0 deletions
diff --git a/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_Peripheral_Lite/readme.txt b/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_Peripheral_Lite/readme.txt
new file mode 100644
index 000000000..f8cdd08bd
--- /dev/null
+++ b/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_Peripheral_Lite/readme.txt
@@ -0,0 +1,111 @@
+/**
+ @page BLE_Peripheral_Lite Application
+
+ @verbatim
+ ******************************************************************************
+ * @file BLE/BLE_Peripheral_Lite/readme.txt
+ * @author MCD Application Team
+ * @brief Description of the BLE_Peripheral_Lite application
+ ******************************************************************************
+ *
+ * Copyright (c) 2019 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 Application Description
+
+How to communicate with simple BLE peripheral with minimum activated features.
+
+This example is to demonstrate simple BLE peripheral operation with bidirectional communication with minimalistic CPU2 configuration flow
+and Lite service support with minimum needed features activation (not including e.g. Tasks Sequencer, Timer Server, Low-Power Manager).
+
+One STM32WB55xx board is used acting as GAP Peripheral and GATT Server.
+Android/iOS BLE compatible device with recommended ST BLE Profile application (such as ST BLE Sensor application)
+installed to be used as GAP Central and GATT Client.
+
+@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 Directory contents
+
+ - BLE/BLE_Peripheral_Lite/Inc/stm32wbxx_hal_conf.h HAL configuration file
+ - BLE/BLE_Peripheral_Lite/Inc/stm32wbxx_it.h Interrupt handlers header file
+ - BLE/BLE_Peripheral_Lite/Inc/main.h Header for main.c module
+ - BLE/BLE_Peripheral_Lite/Inc/gatt_service.h Header for gatt_service.c module
+ - BLE/BLE_Peripheral_Lite/Inc/app_common.h Header for all modules with common definition
+ - BLE/BLE_Peripheral_Lite/Inc/app_conf.h Parameters configuration file of the application
+ - BLE/BLE_Peripheral_Lite/Inc/hw_conf.h Configuration file of the HW
+ - BLE/BLE_Peripheral_Lite/Inc/utilities_conf.h Configuration file of the utilities
+ - BLE/BLE_Peripheral_Lite/Src/stm32wbxx_it.c Interrupt handlers
+ - BLE/BLE_Peripheral_Lite/Src/main.c Main program and BLE Profile implementation
+ - BLE/BLE_Peripheral_Lite/Src/system_stm32wbxx.c stm32wbxx system source file
+ - BLE/BLE_Peripheral_Lite/Src/gatt_service.c custom STM my very own service implementation
+ - BLE/BLE_Peripheral_Lite/Src/hw_ipcc.c IPCC Driver
+ - BLE/BLE_Peripheral_Lite/Src/app_debug.c CPU2 debug and trace support
+
+@par Hardware and Software environment
+
+ - This application runs on STM32WB55xx devices & Nucleo board (MB1355C)
+
+@par How to use it ?
+
+This application requests having the stm32wb5x_BLE_Stack_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 load the image into Target memory
+ - OR use the BLE_Peripheral_Lite_reference.hex from Binary directory
+ - This must be done for BLE_Peripheral_Lite (MB1355C)
+
+First demonstration
+On the android/ios device, enable the Bluetooth communications, and if not done before,
+ - Install the ST BLE Profile application on the android device
+ https://play.google.com/store/apps/details?id=com.stm.bluetoothlevalidation&hl=en
+ https://itunes.apple.com/fr/App/st-ble-profile/id1081331769?mt=8
+
+ - Install the ST BLE Sensor application on the ios/android device
+ https://play.google.com/store/apps/details?id=com.st.bluems
+ https://itunes.apple.com/us/App/st-bluems/id993670214?mt=8
+
+ - Power on the Nucleo board with the BLE_Peripheral_Lite application
+ - Then, click on the App icon, ST BLE Sensor (android device)
+ - connect to the device
+ - select the "HELLO!" device(containing My Very Own service as P2PServer profile) in the list and play with the button to switch on/off blue LED on nucleo board.
+
+Demonstration scheduling
+
+ - Once the code (BLE_Peripheral_Lite) is downloaded into the STM32WB55xx board and executed, the module is initialized.
+ - The red LED switch On to indicate that the CPU2 is initializing and switch Off when CPU2 is initialized.
+ - The green LED switch On to indicate that the wireless stack FW is running.
+ - The blue LED switch On to indicate that the wireless stack FW has been initialized.
+ and blue LED switch OFF when custom STM GATT service called "My very own service" has been initialized.
+ - The Peripheral device (BLE_Peripheral_Lite) starts advertising with data using local name "HELLO!".
+ - The green led blinks for each advertising event slowly each ~0.5sec.
+ - The Central device (ST BLE Sensor smart phone application) starts scanning and when the peripheral is found and selected in advices list,
+ it connects to the Server device Nucleo board (MB1355C).
+ - The button event on ST BLE Sensor application interface enables to switch On/Off blue led on Nucleo board.
+ - Notification is sent from the server (Peripheral device - Nucleo board (MB1355C)) to the client (Central device - Smart phone) every ~1sec.
+ - When the Peripheral device (Nucleo board (MB1355C)) is disconnected, advertising is restarted and it is possible to connect to it again.
+
+ For more details refer to the Application Note:
+ AN5289 - Building a Wireless application
+
+ * <h3><center>&copy; COPYRIGHT STMicroelectronics</center></h3>
+ */