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

readme.txt « BLE_MeshLightingDemo « BLE « Applications « P-NUCLEO-WB55.Nucleo « Projects - github.com/Flipper-Zero/STM32CubeWB.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 861e91274c2ab5334646270d56f785ba2b51e89f (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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/**
  @page BLE_MeshLightingDemo example
  
  @verbatim
  ******************** (C) COPYRIGHT 2019 STMicroelectronics *******************
  * @file    BLE/BLE_MeshLightingDemo/readme.txt 
  * @author  MCD Application Team
  * @brief   Description of the BLE Mesh Lighting demo example.
  ******************************************************************************
  *
  * 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 Example Description 
This is the implementation of the BLE Mesh Lighting profile as specified by the BLE SIG.

@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 
            mesh_lighting_demo
  - BLE/BLE_MeshLightingDemo/Core/Inc/app_common.h                  Header for all modules with common definition
  - BLE/BLE_MeshLightingDemo/Core/Inc/app_conf.h                    Parameters configuration file of the application
  - BLE/BLE_MeshLightingDemo/Core/Inc/app_debug.h                   Interface to support debug in the application
  - BLE/BLE_MeshLightingDemo/Core/Inc/app_entry.h                   Parameters configuration file of the application
  - BLE/BLE_MeshLightingDemo/Core/Inc/hw_conf.h                     Configuration file of the HW
  - BLE/BLE_MeshLightingDemo/Core/Inc/hw_flash.h                    Configuration file of the FLASH driver needed by EE module
  - BLE/BLE_MeshLightingDemo/Core/Inc/hw_if.h                       Configuration file of the Hardware Iterface
  - BLE/BLE_MeshLightingDemo/Core/Inc/lp_timer.h                    Configuration file of the Low power timer to be used within Mesh Application.
  - BLE/BLE_MeshLightingDemo/Core/Inc/main.h                        Header for main.c module
  - BLE/BLE_MeshLightingDemo/Core/Inc/stm32wbxx_hal_conf.h          HAL configuration file
  - BLE/BLE_MeshLightingDemo/Core/Inc/stm32_lpm_if.h                Configuration file of the Low layer function to enter/exit low power modes (stop, sleep).
  - BLE/BLE_MeshLightingDemo/Core/Inc/stm32wbxx_it.h                Interrupt handlers header file
  - BLE/BLE_MeshLightingDemo/Core/Inc/utilities_conf.h              Configuration file of the utilities
  - BLE/BLE_MeshLightingDemo/Core/Inc/vcp_conf.h                    Configuration file of Virtual Com Port Interface
  - BLE/BLE_MeshLightingDemo/Core/Src/app_debug.c                   Interface to support debug in the application
  - BLE/BLE_MeshLightingDemo/Core/Src/app_entry.c                   Initialization of the application
  - BLE/BLE_MeshLightingDemo/Core/Src/hw_flash.c                    FLASH driver needed by EE module
  - BLE/BLE_MeshLightingDemo/Core/Src/hw_timerserver.c              Timer Server based on RTC
  - BLE/BLE_MeshLightingDemo/Core/Src/hw_uart.c                     UART Driver
  - BLE/BLE_MeshLightingDemo/Core/Src/lp_timer.c                    Low power timer to be used within Mesh Application.
  - BLE/BLE_MeshLightingDemo/Core/Src/main.c                        Main program
  - BLE/BLE_MeshLightingDemo/Core/Src/stm32_lpm_if.c                Low Power Manager Interface
  - BLE/BLE_MeshLightingDemo/Core/Src/stm32wbxx_it.c                Interrupt handlers
  - BLE/BLE_MeshLightingDemo/Core/Src/system_stm32wbxx.c            stm32wbxx system source file
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/app_ble.c               BLE Profile implementation
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/app_ble.h               Header of BLE Profile implementation 
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/appli_config_client.c   Application interface for Config CLient Mesh Model
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/appli_config_client.h   Header of Application interface for Config CLient Mesh Model 
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/appli_generic.c         Application interface for Generic Mesh Models
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/appli_generic.h         Header of Application interface for Generic Mesh Models 
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/appli_generic_client.c  Application interface for Client Generic Mesh Models
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/appli_generic_client.h  Header of Application interface for Client Generic Mesh Models 
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/appli_light.c           BLE Mesh Light Profile implementation
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/appli_light.h           Header of BLE Mesh Light Profile implementation 
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/appli_light_client.c    Application interface for Client Light Mesh Models
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/appli_light_client.h    Header of Application interface for Client Light Mesh Models 
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/appli_light_lc.c        BLE Mesh Light Lightness Controller Profile implementation
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/appli_light_lc.h        Header of BLE Mesh Light Lightness Controller Profile implementation 
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/appli_mesh.c            BLE Mesh application implementation
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/appli_mesh.h            Header of BLE Mesh application implementation 
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/appli_nvm.c             BLE Mesh NVM application implementation
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/appli_nvm.h             Header of BLE Mesh NVM application implementation 
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/appli_sensor.c          BLE Mesh Sensor Profile implementation
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/appli_sensor.h          Header of BLE Mesh Sensor Profile implementation 
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/appli_vendor.c          BLE Mesh Vendor Profile implementation
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/appli_vendor.h          Header of BLE Mesh Vendor Profile implementation 
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/ble_conf.h              BLE Services configuration
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/ble_dbg_conf.h          BLE Traces configuration of the BLE services
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/hal_common.h            Header for common function of HAL file
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/mesh_cfg.h              Header for Mesh configuration
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/mesh_cfg_usr.h          Header for user Mesh configuration
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/models_if.h             Header for the BLE Mesh Models Interface file
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/models_if.c             BLE Mesh Models Interface file
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/pal_nvm.c               BLE Mesh NVM management implementation
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/pal_nvm.h               Header of BLE Mesh NVM management implementation 
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/PWM_config.c            Pulse Width Modulation configuration
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/PWM_config.h            Header of Pulse Width Modulation configuration 
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/PWM_handlers.c          Pulse Width Modulation handlers
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/PWM_handlers.h          Header of Pulse Width Modulation handlers 
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/svcctl_conf.c           Service Controller configuration API
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/tl_conf.h               Configuration file of the Transport layer
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/tl_if.c                 Transport Layer interface
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/user_if.h               Header file for User interface file
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/user_if.c               User interface file
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/App/vcp_conf.h              Configuration of the vcp interface
  - BLE/BLE_MeshLightingDemo/STM32_WPAN/Target/hw_ipcc.c            IPCC Driver

     
@par Hardware and Software environment

  - This example runs on STM32WB55xx devices.
  
  - This example has been tested with an STMicroelectronics STM32WB55VG-Nucleo
    board and can be easily tailored to any other supported device 
    and development board.

@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 your image into target memory
 - Run the example
 
For more details refer to the Application Note: 
  AN5292_STM32WB_How_to_build_BLE_Mesh_Application
  
* <h3><center>&copy; COPYRIGHT STMicroelectronics</center></h3>
 */